#include <bits/stdc++.h>
using namespace std;
int32_t main() {
  long long n;
  cin >> n;
  long long ans[n + 1];
  for (long long i = (long long)(0); i <= (long long)(n); i++) ans[i] = 1e9;
  for (long long j = (long long)(0); j <= (long long)(9); j++) {
    for (long long l = (long long)(0); l <= (long long)(1); l++) {
      vector<long long> v;
      for (long long i = (long long)(1); i <= (long long)(n); i++)
        if (((i >> j) & 1ll) == l) v.push_back(i);
      if (v.size() == 0) continue;
      cout << v.size() << "\n";
      for (auto it : v) cout << it << " ";
      cout << "\n";
      for (long long i = (long long)(1); i <= (long long)(n); i++) {
        long long x;
        cin >> x;
        if (((i >> j) & 1ll) != l) ans[i] = min(ans[i], x);
      }
    }
  }
  cout << -1 << "\n";
  for (long long i = (long long)(1); i <= (long long)(n); i++)
    cout << ans[i] << " ";
  cout << "\n";
}
