#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k;
  cin >> n >> k;
  vector<int> query1;
  cout << "?";
  for (int i = 1; i <= k; i++) {
    cout << " " << i;
    query1.push_back(i);
  }
  cout << '\n';
  fflush(stdout);
  int pos1, x;
  cin >> pos1 >> x;
  vector<int> query2;
  cout << "?";
  for (int i = 0; i < k; i++) {
    if (query1[i] != pos1) {
      cout << " " << query1[i];
      query2.push_back(query1[i]);
    }
  }
  cout << " " << k + 1;
  query2.push_back(k + 1);
  cout << '\n';
  fflush(stdout);
  int pos2, y;
  cin >> pos2 >> y;
  int changes = 0;
  for (int i = 0; i < k; i++) {
    if (query2[i] != pos2) {
      swap(query2[i], pos1);
      cout << "?";
      for (auto &i : query2) cout << " " << i;
      cout << '\n';
      fflush(stdout);
      int a, b;
      cin >> a >> b;
      if (a != pos2) ++changes;
      swap(query2[i], pos1);
    }
  }
  int ans;
  if (x < y)
    ans = k - changes;
  else
    ans = changes + 1;
  cout << "! " << ans << '\n';
  fflush(stdout);
  return 0;
}
