#include <bits/stdc++.h>
using namespace std;
int wyn[1000000];
int odp[1000000];
bool pytam[1000];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) wyn[i] = (long long)1000000000 + 1;
  int dl = 1;
  while (dl < n)
    for (int h = 0; h < 2; h++) {
      int i = 0;
      vector<long long> zap;
      if (h == 0)
        while (i < n) {
          for (int j = 0; j < dl and i < n; j++) {
            zap.push_back(i);
            pytam[i] = true;
            i++;
          }
          for (int j = 0; j < dl and i < n; j++) {
            pytam[i] = false;
            i++;
          }
        }
      else
        while (i < n) {
          for (int j = 0; j < dl and i < n; j++) {
            pytam[i] = false;
            i++;
          }
          for (int j = 0; j < dl and i < n; j++) {
            zap.push_back(i);
            pytam[i] = true;
            i++;
          }
        }
      cout << zap.size() << endl;
      for (auto x : zap) cout << x + 1 << " ";
      cout << endl;
      for (int i = 0; i < n; i++) {
        cin >> odp[i];
      }
      for (int i = 0; i < n; i++) {
        if (pytam[i] == false) wyn[i] = min(wyn[i], odp[i]);
      }
      if (h == 1) dl *= 2;
    }
  cout << -1 << endl;
  for (int i = 0; i < n; i++) cout << wyn[i] << " ";
  cout << endl;
  return 0;
}
