#include <bits/stdc++.h>
using namespace std;
int a[200000];
map<pair<int, int>, int> m;
int main() {
  int n = ({
    int x;
    scanf("%d", &x);
    x;
  }),
      k = ({
        int x;
        scanf("%d", &x);
        x;
      });
  if (k == 1) {
    cout << "! 1\n";
    fflush(stdout);
    return 0;
  }
  k++;
  for (int i = (0); i < (k); i += (1)) {
    printf("? ");
    for (int j = (0); j < (k); j += (1)) {
      if (j != i) {
        printf("%d ", j + 1);
      }
    }
    puts("");
    fflush(stdout);
    int pos = ({
      int x;
      scanf("%d", &x);
      x;
    }),
        val = ({
          int x;
          scanf("%d", &x);
          x;
        });
    m[make_pair(pos, val)]++;
  }
  auto it = m.begin();
  pair<pair<int, int>, int> p1 = *it;
  it++;
  pair<pair<int, int>, int> p2 = *it;
  if (p1.first.second < p2.first.second) {
    swap(p1, p2);
  }
  cout << "! " << p1.second << "\n";
  fflush(stdout);
}
