//KY50 Skew数
#include <iostream>
#include <algorithm>
#include <cstring>
#include <math.h>
using namespace std;
string s;
long long sum;
int main()
{
    while(cin>>s){
        if(s=="0") break;
        sum=0;
        for(int i=0;i<s.size();i++){
            sum+=(s[i]-'0')*(pow(2,s.size()-i)-1);
        }
        cout<<sum<<"\n";
    }
    return 0;
}