func_code_string: #include <bits/stdc++.h>   using namespace std;   char p[120], A[10100][120], B[10100][120], res[120];   int SA[110], SB[110], Z[110], Pre[110];   int SS[110], Suf[110];   void Do(int n) {     int i, j;     printf( ? %d %d n , 1, n);     fflush(stdout);     for (i = 0; i < n * (n + 1) / 2; i++) {       scanf( %s , A[i]);       int c = 0;       for (j = 0; A[i][j]; j++) c += A[i][j] -  a ;       int L = j;       SA[L] += c;     }     printf( ? %d %d n , 1, n - 1);     fflush(stdout);     for (i = 0; i < n * (n - 1) / 2; i++) {       scanf( %s , B[i]);       int c = 0;       for (j = 0; B[i][j]; j++) c += B[i][j] -  a ;       int L = j;       SB[L] += c;     }     for (i = 1; i <= n; i++) {       Z[i] = SA[i] - SB[i];       res[n - i] = Z[i] - Z[i - 1] +  a ;     }   }   int main() {     int i, j, k;     int n;     scanf( %d , &n);     if (n == 1) {       printf( ? %d %d n , 1, n);       fflush(stdout);       scanf( %s , p);       printf( ! %s n , p);       fflush(stdout);       return 0;     }     if (n == 2) {       printf( ? %d %d n , 1, 1);       fflush(stdout);       scanf( %s , p);       res[0] = p[0];       printf( ? %d %d n , 2, 2);       fflush(stdout);       scanf( %s , p);       res[1] = p[0];       res[2] = 0;       printf( ! %s n , res);       return 0;     }     Do((n + 1) / 2);     printf( ? %d %d n , 1, n);     fflush(stdout);     for (i = 0; i < (n + 1) / 2; i++) {       Pre[i + 1] = Pre[i] + res[i] -  a ;     }     for (i = 0; i < n * (n + 1) / 2; i++) {       scanf( %s , A[i]);       int c = 0;       for (j = 0; A[i][j]; j++) c += A[i][j] -  a ;       int L = j;       SS[L] += c;     }     int tot = SS[n];     for (i = 1; i <= n / 2; i++) {       int z = SS[n - i];       for (j = 1; j < i; j++) {         int s = 0;         for (k = 0; k < i - j; k++) {           s += res[n - k - 1] -  a ;         }         z -= tot - (s + Pre[j]);       }       z -= (tot - Pre[i]);       Suf[i] = tot - z;       res[n - i] = Suf[i] - Suf[i - 1] +  a ;     }     printf( ! %s n , res);     fflush(stdout);   }   