func_code_string: #include <bits/stdc++.h>   #pragma GCC target( avx2 )   #pragma GCC optimize( O3 )   #pragma GCC optimize( unroll-loops )   using namespace std;   using ll = long long;   using lld = long double;   using vll = int64_t;   int main() {     map<int, pair<int, int> > hm;     int a[] = {4, 8, 15, 16, 23, 42};     for (int i = 0; i < 6; i++) {       for (int j = i + 1; j < 6; j++) hm[a[i] * a[j]] = {a[i], a[j]};     }     int ans[7];     cout <<  ?            <<  1 2 n           << flush;     int x;     cin >> x;     auto p1 = hm[x];     cout <<  ? 2 3 n  << flush;     cin >> x;     auto p2 = hm[x];     if (p1.first == p2.first || p1.first == p2.second) {       ans[2] = p1.first;       ans[1] = p1.second;       if (p1.first == p2.first) {         ans[3] = p2.second;       } else {         ans[3] = p2.first;       }     } else {       ans[2] = p1.second;       ans[1] = p1.first;       if (p1.second == p2.first)         ans[3] = p2.second;       else         ans[3] = p2.first;     }     cout <<  ? 4 5 n  << flush;     cin >> x;     p1 = hm[x];     cout <<  ? 5 6 n  << flush;     cin >> x;     p2 = hm[x];     if (p1.first == p2.first || p1.first == p2.second) {       ans[5] = p1.first;       ans[4] = p1.second;       if (p1.first == p2.first) {         ans[6] = p2.second;       } else {         ans[6] = p2.first;       }     } else {       ans[5] = p1.second;       ans[4] = p1.first;       if (p1.second == p2.first)         ans[6] = p2.second;       else         ans[6] = p2.first;     }     cout <<  !  ;     for (int i = 1; i < 7; i++) cout << ans[i] <<    ;     cout <<   n  << flush;     return 0;   }   