#include <bits/stdc++.h>
using namespace ::std;
void print(set<int> &S) {
  cout << "?";
  for (int i : S) cout << ' ' << i;
  cout << endl;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int N, K;
  cin >> N >> K;
  set<int> S;
  for (int i = 1; i <= K; i++) {
    S.insert(i);
  }
  set<int> Mk;
  std::vector<pair<int, int> > v(K);
  for (int i = 1; i <= 2; i++) {
    print(S);
    int pos, apos;
    cin >> pos >> apos;
    Mk.insert(pos);
    v[i - 1] = make_pair(apos, pos);
    S.erase(pos);
    S.insert(K + i);
  }
  S.erase(K + 2);
  S.insert(v[0].second);
  S.insert(v[1].second);
  int m = 0;
  for (int i = 1; i <= K + 1; i++) {
    if (Mk.find(i) != Mk.end()) continue;
    S.erase(i);
    print(S);
    int pos, apos;
    cin >> pos >> apos;
    if (v[0].first < v[1].first) {
      if (apos == v[1].first) m++;
    } else {
      if (apos == v[0].first) m++;
    }
    S.insert(i);
  }
  cout << "! " << m + 1 << endl;
  return 0;
}
