#include int main(void){ unsigned int N; scanf("%d",&N); N--; N=N|(N>>1); N=N|(N>>2); N=N|(N>>4); N=N|(N>>8); N=N|(N>>16); N=(N&0x55555555)+(N>>1&0x55555555); N=(N&0x33333333)+(N>>2&0x33333333); N=(N&0x0f0f0f0f)+(N>>4&0x0f0f0f0f); N=(N&0x00ff00ff)+(N>>8&0x00ff00ff); N=(N&0x0000ffff)+(N>>16&0x0000ffff); printf("%d\n",N); return 0; }