#include <bits/stdc++.h>
using namespace std;
const int kN = 1024;
int x[kN][11], y[kN][11], n;
void Ask(vector<int>& a, bool ones, int j) {
  int m = a.size();
  cout << m << "\n";
  for (int i = 0; i < m; ++i) {
    cout << a[i] + 1 << " \n"[i == m - 1];
  }
  fflush(stdout);
  if (ones) {
    for (int i = 0; i < n; ++i) cin >> x[i][j];
  } else {
    for (int i = 0; i < n; ++i) cin >> y[i][j];
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n;
  for (int j = 0; 1 << j < n; ++j) {
    vector<int> a, b;
    for (int i = 0; i < n; ++i) {
      if (i & 1 << j)
        a.push_back(i);
      else
        b.push_back(i);
    }
    Ask(a, true, j);
    Ask(b, false, j);
  }
  cout << "-1\n";
  for (int i = 0; i < n; ++i) {
    int ans = 2e9;
    for (int j = 0; 1 << j < n; ++j) {
      ans = min(ans, i & 1 << j ? y[i][j] : x[i][j]);
    }
    cout << ans << " \n"[i == n - 1];
  }
  fflush(stdout);
  return 0;
}
