#include<bits/stdc++.h>

using namespace std;

int main() {
    int n, k;

    cin >> n >> k;

    auto cmp = [&](int a, int b) {
        cout << "? " << a << ' ' << b << endl;
        int x;
        cin >> x;
        return b == x;
    };
    set<int, decltype(cmp)> topk(cmp);

    for(int i=1;i<=n;++i) {
        topk.insert(i);
        if (topk.size() > k) topk.erase(topk.begin());
    }

    cout << '!';
    for (auto x : topk) cout << ' ' << x;
    cout << endl;

    return 0;
}