#include <stdio.h>
#include <math.h>
#include <string.h>

#define N 32

int main() {
    int num[N];
    char c[N];
    int dnum;  //十进制数
    int length;
    while(scanf("%s",c)!=EOF){
        dnum=0;
        length=strlen(c);
        for(int i=0;i<length;i++){
            num[i]=c[i]-'0';
        }
        for(int i=length-1;i>=0;i--){
            dnum+=num[length-i-1]*(pow(2, i+1)-1);  //注意num[]低位存放数值高位
        }
        printf("%d\n",dnum);
    }
    return 0;
}