#include <bits/stdc++.h>
const long long INF = 0x3f3f3f3f3f3f3f3f;
const long long llinf = (1LL << 62);
const int inf = (1 << 30);
const int nmax = 5e2 + 50;
const int mod = 1e9 + 7;
using namespace std;
int n, k, i, j, v[nmax], x, y, sm, bg, cur;
vector<int> as, as1;
pair<int, int> p;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cerr.tie(0);
  cout.tie(0);
  cin >> n >> k;
  cout << "?";
  for (i = 1; i <= k; i++) as.push_back(i), cout << " " << i;
  cout << endl;
  cin >> x >> y;
  p = make_pair(x, y);
  v[x] = 1;
  cout << "?";
  for (i = 1; i <= n; i++) {
    if (v[i]) continue;
    j++;
    cout << " " << i;
    if (j == k) break;
  }
  cout << endl;
  cin >> x >> y;
  cur = y;
  for (i = 0; i < k; i++) {
    if (as[i] == p.first) continue;
    as1 = as;
    as1[i] = k + 1;
    cout << "?";
    for (j = 0; j < k; j++) cout << " " << as1[j];
    cout << endl;
    cin >> x >> y;
    if (cur > p.second) {
      if (y == p.second)
        bg++;
      else
        sm++;
    } else {
      if (y == p.second)
        sm++;
      else
        bg++;
    }
  }
  cout << "! " << sm + 1 << endl;
  return 0;
}
