func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     int n;     cin >> n;     int mi[n];     for (int i = (0); i < (n); i++) mi[i] = 1e9;     int t = 1;     int z[1000];     do {       t *= 2;       vector<int> v;       int x = 0;       while (x < n) {         int f = 0;         for (int i = (0); i < (t / 2); i++) {           if (x + i < n)             v.push_back(x + i);           else             break;         }         x += t;       }       cout << v.size() <<   n ;       ;       set<int> temp;       for (int i = (0); i < (v.size()); i++) {         temp.insert(v[i]);         cout << v[i] + 1 <<    ;       }       cout <<   n ;       fflush(stdout);       for (int i = (0); i < (n); i++) cin >> z[i];       for (int i = (0); i < (n); i++) {         if (temp.find(i) == temp.end()) mi[i] = min(mi[i], z[i]);       }       v.resize(0);       x = 0;       temp.clear();       while (x < n) {         int f = 0;         for (int i = (0); i < (t / 2); i++) {           if (x + i + t / 2 < n)             v.push_back(x + i + t / 2);           else             break;         }         x += t;       }       cout << v.size() <<   n ;       ;       for (int i = (0); i < (v.size()); i++) {         temp.insert(v[i]);         cout << v[i] + 1 <<    ;       }       cout <<   n ;       fflush(stdout);       for (int i = (0); i < (n); i++) cin >> z[i];       for (int i = (0); i < (n); i++) {         if (temp.find(i) == temp.end()) mi[i] = min(mi[i], z[i]);       }     } while (t < n);     cout <<  -1 n ;     fflush(stdout);     for (int i = (0); i < (n); i++) cout << mi[i] <<    ;     cout <<   n ;     fflush(stdout);   }   