#include using namespace std; vector do_query(const vector& seq) { if (seq.empty()) return {}; int L = seq.size(); cout << L; for (int u : seq) cout << " " << u; cout << '\n'; cout.flush(); vector res(L); for (int& r : res) cin >> r; return res; } void output_guess(const vector& perm) { cout << -1; for (int u : perm) cout << " " << u; cout << '\n'; cout.flush(); exit(0); } int main() { int subtask, n; cin >> subtask >> n; int target_k = (n <= 1000 ? n / 4 : 2000); vector labels(n); for (int i = 0; i < n; i++) labels[i] = i + 1; vector II; int s = max(1, n / 20); int num_orders = 5; vector curr_I; int start_pos = 0; while (start_pos < n) { int bs = min(s, n - start_pos); vector batch(labels.begin() + start_pos, labels.begin() + start_pos + bs); vector test_seq; for (int u : batch) { test_seq.push_back(u); test_seq.push_back(u); } auto test_rep = do