#include #include #include char s[1048576]; char a[1048576]; int main() { int alen,i,tmp,c,ans=0; if(scanf("%1000001s",s)<1) exit(-1); if(sscanf(s,"%[0123456789]s",a)<1) exit(-1); alen=strlen(a); if(alen==0) exit(-1); if(alen==1&&a[0]=='0'){ printf("0\n"); return 0; } for(i=0;i<=((alen-1)>>1);i++){ tmp=a[i]; a[i]=a[alen-1-i]-48; a[alen-1-i]=tmp-48; } while(alen>0){ if(a[alen-1]==1){ c=1; alen--; } else { c=0; } for(i=alen-1;i>=0;i--){ a[i]=10*c+a[i]; c=a[i]&1; a[i]>>=1; } ans+=c; } printf("%d\n",ans); return 0; }