#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(false);
  vector<vector<int> > queries(20);
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    int seed = 1;
    for (int j = 0; j < 10; j++) {
      if (!(!(seed & i)))
        queries[j].push_back(i);
      else
        queries[10 + j].push_back(i);
      seed = seed << 1;
    }
  }
  vector<vector<int> > responses(20);
  for (int i = 0; i < 20; i++) {
    if (queries[i].size() == 0) {
      for (int j = 0; j < n; j++) {
        responses[i].push_back(INT_MAX);
      }
      continue;
    }
    cout << queries[i].size() << endl;
    for (int j = 0; j < queries[i].size(); j++) {
      cout << queries[i][j] + 1 << " ";
    }
    cout << endl;
    fflush(stdout);
    for (int j = 0; j < n; j++) {
      int jth_response;
      cin >> jth_response;
      responses[i].push_back(jth_response);
    }
  }
  vector<int> answers(n);
  cout << -1 << endl;
  for (int i = 0; i < n; i++) {
    int curmin = INT_MAX;
    int seed = 1;
    for (int j = 0; j < 10; j++) {
      if (!(i & seed)) {
        curmin = min(curmin, responses[j][i]);
      } else {
        curmin = min(curmin, responses[j + 10][i]);
      }
      seed = seed << 1;
    }
    cout << curmin << " ";
  }
  cout << endl;
  fflush(stdout);
  return 0;
}
