func_code_string: #include <bits/stdc++.h>   char s[2000005];   int sign[2000005], o[2000005], n, m, L;   int main() {     scanf( %s , s), n = strlen(s), m = 0;     for (int i = 0; i < n; i++) {       int x = s[n - 1 - i] - 48;       if (x) {         if (m == 1) o[L++] = i - 1;         m += m < 2;       } else if (m == 1)         sign[L] = 1, o[L++] = i + m - 2, m = 0;       else if (m == 2)         m--;     }     if (m) sign[L] = 1, o[L++] = n + m - 2;     printf( %d n , L);     for (int i = 0; i < L; i++) printf( %c2^%d n , sign[i] ?  +  :  - , o[i]);     return 0;   }   