func_code_string: #include <bits/stdc++.h>   using namespace std;   const int n = 100002;   char h[n], h1[n];   int a[n];   bool check(int e, int r, int v1, int c1) {     int c, v, c2, v2;     while (e < r) {       for (c = 0; c < 10; c++)         for (v = 0; v < 10; v++)           if (c + v == v1 + h[r]) {             if ((c == 0) && (e == 0)) continue;             goto st;           }       if ((h[r] == 9) && (v1 == 10)) {         c = 9;         v = 0;         goto st;       }       return 0;     st:       h[r - 1] -= (c + v) / 10;       if (h[r - 1] < 0) {         for (c2 = r - 2; (c2 >= 0) && (h[c2 + 1] < 0); c2--) {           h[c2 + 1] += 10;           h[c2]--;         }         if (c2 < e - 1) return 0;       }       a[e] = c;       a[r] = v;       c += v;       v = v1 + h[e] - c;       if ((v != 0) && (v != 1)) return 0;       v1 = v * 10;       c1 = c / 10;       if (e == r - 1) {         if (v == 1) return 0;         return 1;       }       e++;       r--;     }     if (e > r) {       if ((v1 + c1 == 11) || (v1 + c1 == 0)) return 1;       return 0;     }     for (c = 0; c < 10; c++)       if (c + c == v1 + h[e]) break;     if (c == 10) return 0;     a[e] = c;     return 1;   }   int main() {     int q, w, e, r, t;     scanf( %s , h1);     q = strlen(h1);     for (w = 0; w < q; w++) h1[w] -= 48;     for (w = 0; w < q; w++) h[w] = h1[w];     if (check(0, q - 1, 0, 0)) {       for (w = 0; w < q; w++) printf( %d , a[w]);       return 0;     }     for (w = 0; w < q; w++) h[w] = h1[w];     if ((h[0] == 1) && (check(1, q - 1, 10, 0))) {       for (w = 1; w < q; w++) printf( %d , a[w]);       return 0;     }     printf( 0 );     return 0;   }   