func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 505;   int n, now, siz[N], f[N];   bool vis[N];   vector<int> g, ans[N];   inline bool cmp(int x, int y) { return siz[x] < siz[y]; }   void divide(int l, int r) {     if (l > r) return;     cout << 1 << endl << 1 << endl << r - l + 1 << endl;     for (int i = l; i <= r; ++i) cout << g[i] <<    ;     cout << endl << now << endl;     int x, mid = (l + r) >> 1;     cin >> x;     if (!x) return;     if (l == r) return vis[g[l]] = 1, ans[now].push_back(g[l]);     divide(l, mid), divide(mid + 1, r);   }   int main() {     cin >> n, siz[1] = n;     for (int i = 2; i <= n; ++i) {       cout << 1 << endl << 1 << endl << n - 1 << endl;       for (int j = 2; j <= n; ++j) cout << j <<    ;       cout << endl << i << endl;       cin >> siz[i];     }     for (int i = 1; i <= n; ++i) f[i] = i;     sort(f + 1, f + n + 1, cmp);     for (int i = 1; i <= n; ++i) {       now = f[i];       divide(0, g.size() - 1);       for (unsigned i = 0; i < g.size(); ++i)         if (vis[g[i]]) g.erase(g.begin() + i--);       g.push_back(now);     }     cout <<  ANSWER  << endl;     for (int i = 1; i <= n; ++i)       for (int j : ans[i]) cout << i <<     << j << endl;     return 0;   }   