#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
int main() {
  int n;
  scanf("%d", &n);
  std::vector<int> ans(n, 1000000000);
  std::vector<int> d2(1, 1);
  for (int i = 0; i < 10; i++) d2.push_back(d2.back() * 2);
  for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 2; j++) {
      std::vector<int> req;
      for (int k = 0; k < n; k++) {
        int bit = (k & d2[i]) / d2[i];
        if (bit == j) req.push_back(k + 1);
      }
      int l = req.size();
      if (l == 0) continue;
      printf("%d\n", req.size());
      for (int k = 0; k < l - 1; k++) {
        printf("%d ", req[k]);
      }
      printf("%d\n", req[l - 1]);
      fflush(stdout);
      std::vector<int> ret(n);
      for (int k = 0; k < n; k++) {
        scanf("%d", &ret[k]);
        int bit = (k & d2[i]) / d2[i];
        if (bit != j) ans[k] = min(ans[k], ret[k]);
      }
    }
  }
  printf("-1\n");
  for (int i = 0; i < n - 1; i++) printf("%d ", ans[i]);
  printf("%d\n", ans[n - 1]);
  fflush(stdout);
}
