#include <iostream>
using namespace std;

bool map [100001];

int main(){
    int a, b, l;
    cin>>a>>b>>l;
    for(int i=1; i<=(a+b-1); i++){
        map[i]=true;
    }
    int br=a+b-1;
    bool as, bs; // true = nch, true = ch

    if(a%2==1){
        as=true;
    }else{
        as=true;
    }

    if(b%2==1){
        bs=true;
    }else{
        bs=true;
    }
    if(a==1 or b==1){
        cout<<br<<endl;
        return 0;
    }
    if(as==false && bs==false){
        for(int i =a+b+1; i<l; i+=2){
            if(map[i]!=false){
                br+=1;
                map[i]=true;
            }
        }
    }else if((as==false && bs==true) or (as==true && bs==false)){
        for(int i =a+b-1; i<l; i+=2){
            if(map[i]!=false){
                br+=1;
                map[i]=true;
            }
        }
    }else if(as==true && bs==true){
        for(int i =a+b+1; i<l; i+=2){
            if(map[i]!=false){
                br+=1;
                map[i]=true;
            }
        }
    }



    cout<<br;


}
