//672K 0MS G++
#include <cstdio>
#include <cstring>
#include <string>
#include <iostream>
using namespace std;
string number;
long long res;
long long digitVal[33];
void printDecimal(const string & number) {
int size = number.size();
long long decimalVal = 0;
// from
for (int i = 0; i <= size - 1; i++) {
decimalVal += (number[i] - '0')*digitVal[size - i - 1];
}
printf("%lld\n", decimalVal);
}
int main() {
int A = 2;
for (int i = 0; i < 33; i++) {
digitVal[i] = A - 1;
A <<= 1;
}
while(1) {
cin>>number;
if(number == "0") {
return 0;
} else {
printDecimal(number);
}
}
}
超级模拟进制转化水题,没啥说的。