func_code_string: #include <bits/stdc++.h>   using namespace std;   long long mod(long long a, long long b) {     if (a % b < 0) {       return a % b + b;     }     return a % b;   }   long long mod_exp(long long a, long long b, long long c) {     long long res = 1;     a = a % c;     while (b > 0) {       if (b % 2 == 1) {         res = (res * a) % c;       }       b /= 2;       a = (a * a) % c;     }     return res;   }   long long gcd(long long a, long long b) {     if (b == 0) {       return a;     }     return gcd(b, a % b);   }   bool prime[3001];   void SieveOfEratosthenes() {     memset(prime, true, sizeof(prime));     prime[1] = false;     for (int p = 2; p * p <= 3000; p++) {       if (prime[p] == true) {         for (int i = p * p; i <= 3000; i += p) prime[i] = false;       }     }   }   long long powe[20];   void power() {     powe[0] = 1;     for (long long i = 1; i < 20; i++) {       powe[i] = (powe[i - 1] * 10) % 1000000007;       if (powe[i] < 0) powe[i] += 1000000007;     }   }   long long func(long long A[], long long n) {     long long lis[n];     lis[0] = 1;     for (long long i = 0; i < n; i++) {       lis[i] = 1;     }     return lis[0];   }   void solve() {     long long a, b, c;     cin >> a >> b >> c;     if ((c >= b && b >= a) || (a >= b && b >= c)) {       if (a >= b && b >= c) {         swap(a, c);       }       while (b > (a + c) / 2) {         b--;         a++;       }       while (b < (a + c) / 2) {         b++;         c--;       }       cout << ((((a > b) ? a : b) > c) ? ((a > b) ? a : b) : c) <<   n ;       return;     }   }   int main() {     long long n, a, b, c;     cin >> n;     cout <<   n? 1 2 n ;     fflush(stdout);     cin >> a;     cout <<  ? 2 3 n ;     fflush(stdout);     cin >> b;     cout <<  ? 1 3 n ;     fflush(stdout);     cin >> c;     long long A[n];     A[0] = (a + c - b) / 2;     A[1] = a - A[0];     A[2] = c - A[0];     for (long long i = 3; i < n; i++) {       cout <<  ? 1   << i + 1 <<   n ;       fflush(stdout);       cin >> a;       A[i] = a - A[0];     }     cout <<  !  ;     for (long long i = 0; i < n; i++) {       cout << A[i] <<    ;     }     return 0;   }   