func_code_string: #include <bits/stdc++.h>   template <class T>   bool read(T &x) {     char *s;     s = (char *)malloc(10);     if (sizeof(x) == 1)       strcpy(s + 1,   %c );     else if (sizeof(x) == 4)       strcpy(s + 1,  %d );     else if (sizeof(x) == 8)       strcpy(s + 1,  %lld );     int k = scanf(s + 1, &x);     free(s);     return k != -1;   }   using namespace std;   char s[2000000];   int sz1, sz2, len, pos[2000000], neg[2000000];   int main() {     scanf( %s , s + 1);     len = strlen(s + 1);     s[0] =  0 ;     for (int i = len; i >= 0; i--) {       if (s[i] ==  0 ) continue;       if (s[i] ==  2 ) {         s[i - 1]++;         continue;       }       if (s[i] ==  1  and i > 0 and s[i - 1] ==  1 ) {         neg[++sz2] = len - i;         s[i - 1]++;         continue;       }       pos[++sz1] = len - i;     }     cout << sz1 + sz2 << endl;     for (int i = 1; i <= sz1; i++) printf( +2^%d n , pos[i]);     for (int i = 1; i <= sz2; i++) printf( -2^%d n , neg[i]);   }   