// zoltan chivay // marigold // triss #include #include #include //#include using namespace std; // pricte 1 void fx (char * pole) { if (pole [0] == '0') { pole [0] = '1'; } else { if (pole [1] == '1') { pole [0] = '0'; pole [1] = '0'; } else { pole [0] = '0'; pole [1] = '1'; fx(pole + 2); } } } int main (int argc, char ** argv) { char * pole = new char [1000001]; while (cin.getline(pole, 1000001)) { //cin.getline(pole, 1000000); int len = strlen(pole); //cout << len << endl; if (len == 0) continue; char * pole2 = new char [1000005]; for (int i = 0; i < 1000005; i ++) pole2[i] = '0'; for (int i = 0; i < len; i++) { pole2[i] = pole[len-i-1]; } fx (pole2); int last1 = 0; for (int i = 0; i < 1000005; i++) { if ( pole2[i] == '1' ) last1 = i; } for (int i = last1; i >= 0 ; i--) cout << pole2[i]; cout << endl; } return 0; }