本来以为要用到高精度,因为数很大,结果long long也就过了
#include <iostream>
#include <string>
#include <algorithm>
#include <math.h>
using namespace std;
int main(){
string skew;
while(cin >> skew){
if(skew == "0")break;
long long ans = 0;
for(int i = skew.size() - 1;i >= 0;i --){
ans += (skew[i] - '0') * (pow(2,skew.size() - i) - 1);
}
cout << ans << endl;
}
return 0;
}