#include <bits/stdc++.h>
using namespace std;
static const int INF = 1000000000;
int main() {
  ios_base::sync_with_stdio(false);
  int n;
  cin >> n;
  vector<int> answer(n, INF);
  for (int i = 1; i < n; i += i) {
    vector<int> w0, w1;
    for (int j = 0; j < n; ++j) {
      if (j % (i * 2) < i) {
        w0.push_back(j);
      } else {
        w1.push_back(j);
      }
    }
    {
      cout << w0.size() << endl << flush;
      for (const int wi : w0) {
        cout << wi + 1 << " ";
      }
      cout << endl << flush;
      vector<int> v(n);
      for (int j = 0; j < n; ++j) {
        cin >> v[j];
      }
      for (int j = 0; j < n; ++j) {
        if (j % (i * 2) >= i) {
          answer[j] = min(answer[j], v[j]);
        }
      }
    }
    {
      cout << w1.size() << endl << flush;
      for (const int wi : w1) {
        cout << wi + 1 << " ";
      }
      cout << endl << flush;
      vector<int> v(n);
      for (int j = 0; j < n; ++j) {
        cin >> v[j];
      }
      for (int j = 0; j < n; ++j) {
        if (j % (i * 2) < i) {
          answer[j] = min(answer[j], v[j]);
        }
      }
    }
  }
  cout << -1 << endl;
  for (const int x : answer) {
    cout << x << " ";
  }
  cout << endl << flush;
  return 0;
}
