#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);
}
}