#include #include #include #include using namespace std; unsigned long long int toNormal(string & str) { unsigned long long int res = 0; for(int i = str.length()-1; i >= 0; i--) res += (str[i]-48) * pow(-2, str.length()-1-i); return res; } void add(string & str) { int len = str.length(); if(str[len-1] == '0') { str[len-1] = '1'; return; } str[len-1] = '0'; char last = '1'; for(int i = len-2; i >= 0; i--) { char current = str[i]; str[i] = current == '0' ? '1' : '0'; if(last == current) { int zeros = 0; for(int j = 0; j < len; j++) { if(str[j] == '0') zeros++; else break; } zeros = zeros ? zeros-1 : zeros; str = str.substr(zeros); return; } last = current; } str = "11" + str; } int main(void) { do { string str; getline(cin, str); if(str.length() == 0) break; add(str); cout << str << endl; } while(cin.good()); return 0; }