#include "dango3.h"
#include <bits/stdc++.h>
using namespace std;
namespace {
int variable_example = 1;
int make_query(vector<bool> willAsk) {
int n = willAsk.size() - 1;
vector<int> qr;
for (int i = 1; i <= n; i++) {
if (willAsk[i]) qr.push_back(i);
}
return Query(qr);
}
void dbg(vector<int> x) {
cout << "DBG: ";
for (auto xx: x) cout << xx << " ";
cout << "\n";
}
} // namespace
void Solve(int N, int M) {
int n = N;
int m = M;
vector<vector<int>> sets(m+1);
sets[1].push_back(1);
for (int i = 2; i <= n*m; i++) {
int lo = 1, hi = m;
int fin = 1;
while (lo <= hi) {
int mid = (lo + hi) / 2;
vector<bool> willAsk(n*m+1, true);
for (auto x: sets[mid]) {
willAsk[x] = false;
}
willAsk[i] = false;
int tot = make_query(willAsk);
if (tot == m-1) {
fin = mid;
hi = mid-1;
}
else lo = mid+1;
}
sets[fin].push_back(i);
}
for (int i = 1; i <= m; i++) {
Answer(sets[i]);
}
}