#include #include typedef unsigned int uint; int main() { const size_t LEN = 1e6 + 10; char* line = new char[LEN]; while (true) { line[0] = '0'; line[1] = '0'; line[2] = '0'; line[3] = '0'; if (NULL == fgets(line + 4, LEN - 4, stdin)) return 0; size_t len = strlen(line); if (line[len - 1] == '\n') line[--len] = '\0'; if (len == 0) return 0; for (uint i = 0; i < (len + 1) / 2; ++i) { char* p = line + len - (i + 1) * 2; char* q = p + 1; if (*p == '1') { if (*q == '0') *q = '1'; else // if (*q == '1') { *p = '0'; *q = '0'; } } else // if (*p == '0') { if (*q == '0') *q = '1'; else // if (*q == '1') { *p = '1'; *q = '0'; continue; } } break; } char* r = line; while (*r == '0') ++r; printf("%s\n", *r == '\0' ? (r - 1) : r); } }