#include <bits/stdc++.h>
using namespace std;
pair<int, int> ask(vector<int> pos) {
  cout << "? ";
  for (int i = 0; i < pos.size(); i++) {
    cout << pos[i] << " ";
  }
  cout << endl;
  int poz, val;
  cin >> poz >> val;
  return {poz, val};
}
int main() {
  int n, k, poz, val, cnt, mic = 0;
  cin >> n >> k;
  vector<int> pos(k);
  iota(pos.begin(), pos.end(), 1);
  auto cur = ask(pos);
  cnt = 0;
  poz = cur.first;
  val = cur.second;
  for (int i = 1; i <= k; i++) {
    if (i != poz) {
      pos[i - 1] = k + 1;
      cur = ask(pos);
      if (val == cur.second)
        cnt++;
      else if (val < cur.second)
        mic = -1;
      else
        mic = 1;
      pos[i - 1] = i;
    }
  }
  if (mic == 0) {
    pos[poz - 1] = k + 1;
    cur = ask(pos);
    if (val < cur.second)
      mic = -1;
    else
      mic = 1;
  }
  if (mic == 1)
    cout << "! " << cnt + 1;
  else
    cout << "! " << k - cnt;
  return 0;
}
