#include <bits/stdc++.h>
using namespace std;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
const long long maxN = 2e5 + 5, mod = 1e9 + 7;
long long N;
bool can[maxN];
long long sz[maxN];
vector<pair<long long, long long> > E;
vector<long long> ord;
long long ask(long long u, vector<long long> a) {
  cout << 1 << '\n' << 1 << '\n';
  cout << a.size() << '\n';
  for (long long t : a) cout << t << ' ';
  cout << '\n';
  cout << u << '\n';
  fflush(stdout);
  long long re;
  cin >> re;
  return re;
}
bool cmp(long long i, long long j) { return sz[i] < sz[j]; }
void ans() {
  cout << "ANSWER\n";
  for (pair<long long, long long> t : E)
    cout << t.first << ' ' << t.second << '\n';
  fflush(stdout);
}
signed main() {
  cin >> N;
  sz[1] = N;
  for (long long i = (long long)2; i <= (long long)N; i++) {
    vector<long long> tmp;
    for (long long j = (long long)2; j <= (long long)N; j++) {
      tmp.emplace_back(j);
    }
    sz[i] = ask(i, tmp);
  }
  for (long long i = (long long)1; i <= (long long)N; i++) ord.emplace_back(i);
  sort(begin(ord), end(ord), cmp);
  for (long long i : ord) {
    if (sz[i] == 1)
      can[i] = 1;
    else {
      vector<long long> tmp;
      for (long long j = (long long)2; j <= (long long)N; j++)
        if (can[j]) tmp.emplace_back(j);
      long long num = ask(i, tmp);
      for (long long t = (long long)1; t <= (long long)num; t++) {
        tmp.clear();
        for (long long j = (long long)2; j <= (long long)N; j++)
          if (can[j]) tmp.emplace_back(j);
        while (tmp.size() > 1) {
          long long m = (tmp.size() - 1) / 2;
          vector<long long> tmp1, tmp2;
          for (long long idx = (long long)0; idx <= (long long)m; idx++)
            tmp1.emplace_back(tmp[idx]);
          for (long long idx = (long long)m + 1;
               idx <= (long long)tmp.size() - 1; idx++)
            tmp2.emplace_back(tmp[idx]);
          if (ask(i, tmp1))
            tmp = tmp1;
          else
            tmp = tmp2;
        }
        long long j = tmp[0];
        can[j] = 0;
        E.emplace_back(i, j);
      }
      can[i] = 1;
    }
  }
  ans();
}
