#include <iostream>
#include <cmath>
using namespace std;
int int_length(int bit_number);
int bin_to_int(int bit_number);
int main()
{
cout << bin_to_int(111100010) << endl;
return 0;
}
int int_length(int bit_number){
bool found = false;
int digit_count = 0;
while(!found){
int division = bit_number / pow(10, digit_count);
if(division < 1){
found = true;
}
else{
digit_count++;
}
}
return digit_count;
}
int bin_to_int(int bit_number){
int number_length = int_length(bit_number);
int number = 0;
for(int i = 0; i < number_length; i++){
int e = pow(10, i);
int digit;
if(e < 10){
digit = bit_number % 10;
digit = digit * pow(2, i);
number = number + digit;
}
else{
digit = (bit_number / e) % 10;
digit = digit * pow(2, i);
number = number + digit;
}
}
return number;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGludF9sZW5ndGgoaW50IGJpdF9udW1iZXIpOwppbnQgYmluX3RvX2ludChpbnQgYml0X251bWJlcik7CgppbnQgbWFpbigpCnsKICAgIGNvdXQgPDwgYmluX3RvX2ludCgxMTExMDAwMTApIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQoKaW50IGludF9sZW5ndGgoaW50IGJpdF9udW1iZXIpewogICAgYm9vbCBmb3VuZCA9IGZhbHNlOwogICAgaW50IGRpZ2l0X2NvdW50ID0gMDsKCiAgICB3aGlsZSghZm91bmQpewogICAgICAgIGludCBkaXZpc2lvbiA9IGJpdF9udW1iZXIgLyBwb3coMTAsIGRpZ2l0X2NvdW50KTsKICAgICAgICBpZihkaXZpc2lvbiA8IDEpewogICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIGRpZ2l0X2NvdW50Kys7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGRpZ2l0X2NvdW50Owp9CgppbnQgYmluX3RvX2ludChpbnQgYml0X251bWJlcil7CiAgICBpbnQgbnVtYmVyX2xlbmd0aCA9IGludF9sZW5ndGgoYml0X251bWJlcik7CgogICAgaW50IG51bWJlciA9IDA7CgogICAgZm9yKGludCBpID0gMDsgaSA8IG51bWJlcl9sZW5ndGg7IGkrKyl7CiAgICAgICAgaW50IGUgPSBwb3coMTAsIGkpOwogICAgICAgIGludCBkaWdpdDsKCiAgICAgICAgaWYoZSA8IDEwKXsKICAgICAgICAgICAgZGlnaXQgPSBiaXRfbnVtYmVyICUgMTA7CiAgICAgICAgICAgIGRpZ2l0ID0gZGlnaXQgKiBwb3coMiwgaSk7CiAgICAgICAgICAgIG51bWJlciA9IG51bWJlciArIGRpZ2l0OwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBkaWdpdCA9IChiaXRfbnVtYmVyIC8gZSkgJSAxMDsKICAgICAgICAgICAgZGlnaXQgPSBkaWdpdCAqIHBvdygyLCBpKTsKICAgICAgICAgICAgbnVtYmVyID0gbnVtYmVyICsgZGlnaXQ7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBudW1iZXI7Cgp9