#include "island.h"
#include <vector>
#include <set>
#include <iostream>
using namespace std;
void solve(int N, int L) {
vector<vector<bool>> adj(N+1,vector<bool>(N+1));
vector<bool> complete(N+1);
vector<int> ask(N+1);
int cnt = 0;
auto connect = [&](int a,int b){
if(!adj[a][b]){
cnt++;
adj[a][b] = 1;
adj[b][a] = 1;
}
};
auto process = [&](int n){
if(complete[n] || cnt == N-1) return;
int i = 1;
vector<int> far(N+1);
while(true){
if(i == N || cnt == N-1){
complete[n] = 1;
break;
}
int ret = query(n,i++);
if(far[ret]){
complete[n] = 1;
break;
}
connect(ret,n);
for(int j{1};j <= N;j++){
if(j != n && adj[ret][j]) far[j] = 1;
}
int back = query(ret,ask[ret]+1);
if(back < n) far[back] = 1,ask[ret]++,connect(back,ret);
else complete[ret] = 1;
}
};
for(int i{N};i >= 1;i--) process(i);
for(int i{1};i <= N;i++){
for(int j{1};j <= N;j++){
if(i < j && adj[i][j]) answer(i,j);
}
}
}