char s[1000010]; a[140000]; p[140000]; n,m; ad(char i){ int x; i-=48; for(x=1;x<140000;x++){ a[x]+=p[x]*i; a[x+1]+=a[x]>>25; a[x]&=0x1FFFFFF; p[x]*=10; p[x]+=p[x-1]>>25; p[x-1]&=0x1FFFFFF; } } main(){ n=strlen(gets(s)); p[1]=1; for(;n--;)ad(s[n]); for(n=140000;n--;)m+=__builtin_popcount(a[n]); printf("%d",m); return 0; }