#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 x == a;
    };
    priority_queue<int, vector<int>, decltype(cmp)> topk(cmp);

    for(int i=1;i<=n;++i) {
        topk.push(i);
        if (topk.size() > k) topk.pop();
    }

    vector<int> ans;

    while (topk.size()) {
        ans.push_back(topk.top());
        topk.pop();
    }

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

    return 0;
}