#include <iostream>
using namespace std;
unsigned long solve(unsigned long);

int main(){
    unsigned long i;
    cin>>i;
    cout<<solve(i)<<endl;
    system("PAUSE");
    return 0;
}
 
unsigned long solve(unsigned long a){
    if((a==0)||(a==1)) return a+1;
    else{
        unsigned long p,k=2;
        while(k*2<=a) k*=2;
        p=k*2+1;
        return p-solve(a-k);
    }
}