#include "chameleon.h"
#include <bits/stdc++.h>
using namespace std;
int n;
bool bruh[1001][1001];
int yeah[1001][1001];
void calc(vector<int> wut, int x) {
if(wut.size() == 1) {
bruh[wut[0]][x] = 1;
bruh[x][wut[0]] = 1;
return;
}
int mid = wut.size()/2;
vector<int> a(0);
vector<int> b(0);
for(int i = 0; i < mid; i++) {
a.push_back(wut[i]);
}
for(int i = mid; i < wut.size(); i++) {
b.push_back(wut[i]);
}
a.push_back(x);
if(Query(a) < a.size()) {
a.pop_back();
calc(a,x);
}
b.push_back(x);
if(Query(b) < b.size()) {
b.pop_back();
calc(b,x);
}
}
void Solve(int N) {
n = N;
vector<int> wut[4];
for(int i = 1; i <= 2*n; i++) {
int p = -1;
for(int j = 0; j < 4; j++) {
vector<int> wow = wut[j];
wow.push_back(i);
if(Query(wow) < wow.size()) {
calc(wut[j],i);
}
else {
p = j;
}
}
wut[p].push_back(i);
}
for(int i = 1; i <= 2*n; i++) {
vector<int> yo(0);
for(int j = 1; j <= 2*n; j++) {
if(bruh[i][j]) {
yo.push_back(j);
}
}
if(yo.size() == 1) {
yeah[i][yo[0]]++;
}
else if(yo.size() == 2) {
yeah[i][yo[0]]++;
yeah[i][yo[1]]++;
}
else {
if(Query({yo[0],yo[1],i}) == 1) {
yeah[i][yo[0]]++;
yeah[i][yo[1]]++;
}
else if(Query({yo[1],yo[2],i}) == 1) {
yeah[i][yo[1]]++;
yeah[i][yo[2]]++;
}
else {
yeah[i][yo[0]]++;
yeah[i][yo[2]]++;
}
}
}
for(int i = 1; i <= 2*n; i++) {
for(int j = i+1; j <= 2*n; j++) {
if(yeah[i][j]+yeah[j][i] >= 2) {
Answer(i,j);
}
}
}
}