#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<set>
#include<vector>
#include<map>
#include<algorithm>
#include<utility>
#include<ctime>
#define MX 100000
#define pb push_back
#define mp make_pair
#define fs first
#define sec second
#define sc scanf
#define pr printf
using namespace std;
int power(int a,int n){
int i;
int p=1;
while(n!=0){
i=n%2;
n=n/2;
if(i==1)
p*=a;
a*=a;
}
return p;
}
int main()
{
int n,i,res_even,res_odd;
cin>>n;
int m=n;
int count=0;
while(n>0)
{
if(n%2==1)
++count;
n/=2;
}
res_odd=power(2,count);
//cout<<res_odd<<endl;
res_even=(m+1)-res_odd;
cout<<res_even;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNzdGRpbz4KI2luY2x1ZGU8Y21hdGg+CiNpbmNsdWRlPGNzdHJpbmc+CiNpbmNsdWRlPHNldD4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxtYXA+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8dXRpbGl0eT4KI2luY2x1ZGU8Y3RpbWU+CiAKI2RlZmluZSBNWCAxMDAwMDAKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBmcyBmaXJzdAojZGVmaW5lIHNlYyBzZWNvbmQKI2RlZmluZSBzYyBzY2FuZgojZGVmaW5lIHByIHByaW50Zgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgcG93ZXIoaW50IGEsaW50IG4pewoJaW50IGk7CglpbnQgcD0xOwoJd2hpbGUobiE9MCl7CgkJaT1uJTI7CgkJbj1uLzI7CgkJaWYoaT09MSkKCQlwKj1hOwoJCWEqPWE7Cn0KcmV0dXJuIHA7Cn0KaW50IG1haW4oKQp7CglpbnQgbixpLHJlc19ldmVuLHJlc19vZGQ7CgljaW4+Pm47CglpbnQgbT1uOwoJaW50IGNvdW50PTA7Cgl3aGlsZShuPjApCgl7CgkgIGlmKG4lMj09MSkKCSAgKytjb3VudDsKCSAgbi89MjsJCgl9CglyZXNfb2RkPXBvd2VyKDIsY291bnQpOwoJLy9jb3V0PDxyZXNfb2RkPDxlbmRsOwoJcmVzX2V2ZW49KG0rMSktcmVzX29kZDsKCWNvdXQ8PHJlc19ldmVuOwoJcmV0dXJuIDA7Cn0K