#include <bits/stdc++.h>
using namespace std;
int const N = 1000;
int n, K, S;
bool x[N + 1];
int sm() {
  int an = 0;
  for (int i = 1; i < (int)(n + 1); ++i) an += x[i];
  return an;
}
void go() {
  printf("%d", K);
  int t = K;
  for (int i = 1; i < (int)(n + 1); ++i)
    if (t && i % K && !x[i]) {
      --t;
      printf(" %d", i);
      x[i] = true;
    }
  printf("\n");
  fflush(stdout);
  int z;
  scanf("%d", &z);
  for (int i = 0; i < (int)(K); ++i) {
    x[z] = false;
    ++z;
    if (z == n + 1) z = 1;
  }
}
int main() {
  scanf("%d", &n);
  for (int i = 2; i < (int)(n); ++i) {
    int t = (n - i) / i * (i - 1);
    if (n % i) t += n % i - 1;
    if (t > S) S = t, K = i;
  }
  while (sm() < S) go();
  printf("0\n");
}
