#include #include void add1(char *num) { int length = strlen(num); int i, carry = 0; if (length % 2 == 0) { if (num[length-1] == '0') num[length-1] = '1'; else { for (i = length-1; i >= 2; i--) { if (i == length - 1) carry = 1; if ((length - 1 - i) % 2 == 1) { if (num[i] == '1') { if (carry) { num[i]= '0'; carry = 0; } else { carry = 1; } } else { if (carry) { num[i] = '1'; carry = 1; } else carry = 0; } } else { if (num[i] == '1') { if (carry) { num[i]= '0'; carry = 1; } else { carry = 0; } } else { if (carry) { num[i] = '1'; carry = 0; } else carry = 0; } } } } } else { for (i = length-1; i >= 0; i--) { if (i == length - 1) carry = 1; if ((length - 1 - i) % 2 == 1) { if (num[i] == '1') { if (carry) { num[i]= '0'; carry = 1; } else { carry = 0; } } else { if (carry) { num[i] = '1'; carry = 0; } else carry = 0; } if (num[i] == '1') carry = 1; } else { if (num[i] == '1') { if (carry) { num[i]= '0'; carry = 1; } else { carry = 0; } } else { if (carry) { num[i] = '1'; carry = 0; } else carry = 0; } } } } } int main() { char str[1000005]; while (scanf("%s", str+2) > 0) { int i = 0; str[0] = '0'; str[1] = '0'; add1(str); while (str[i] == '0' && str[i] != 0) i++; if (str[i] == 0) printf("0\n"); else printf("%s\n", str + i); } return 0; }