#include <bits/stdc++.h>
using namespace std;
int n;
int a[2000][10][2];
int main() {
  scanf("%d", &n);
  for (int i = (0); i < (10); i++)
    for (int j = (0); j < (2); j++) {
      vector<int> v;
      for (int k = (0); k < (n); k++)
        if (((k >> i) & 1) == j) v.push_back(k);
      if (int(v.size()) == 0)
        for (int k = (0); k < (n); k++) a[k][i][j] = 2e9;
      else {
        printf("%d\n", int(v.size()));
        for (int x : v) printf("%d ", x + 1);
        printf("\n");
        fflush(stdout);
        for (int k = (0); k < (n); k++) scanf("%d", &a[k][i][j]);
      }
    }
  printf("-1\n");
  for (int i = (0); i < (n); i++) {
    int res = 2e9;
    for (int j = (0); j < (10); j++)
      if (i & (1 << j)) {
        res = min(res, a[i][j][0]);
      } else {
        res = min(res, a[i][j][1]);
      }
    printf("%d ", res);
  }
  printf("\n");
}
