#include <bits/stdc++.h>   using namespace std;   const long double PI = 3.14159265358979323846264338;   const long long INF = 1000000000000000000;   const long long INF1 = 1000000000;   const long long MOD = 1000000007;   long long mpow(long long a, long long b) {     a %= MOD;     if (!b) return 1;     long long temp = mpow(a, b / 2);     temp = (temp * temp) % MOD;     if (b % 2) return (a * temp) % MOD;     return temp;   }   long long _pow(long long a, long long b) {     if (!b) return 1;     long long temp = _pow(a, b / 2);     temp = (temp * temp);     if (b % 2) return (a * temp);     return temp;   }   long long mod_in(long long n) { return mpow(n, MOD - 2); }   long long cl(long long a, long long b) {     if (a % b) return 1 + a / b;     return a / b;   }   long long gcd(long long a, long long b) {     if (b == 0) return a;     return gcd(b, a % b);   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     int T;     T = 1;     while (T--) {       long long n, k;       cin >> n >> k;       set<long long> s1, s2;       cout <<  ?  ;       for (int i = 1; i <= k; i++) cout << i <<    ;       cout <<   n ;       cout.flush();       long long pos, apos;       cin >> pos >> apos;       s1.insert(k + 1);       for (int i = 1; i <= k; i++) {         if (pos == i) continue;         cout <<  ?  ;         for (int j = 1; j <= k + 1; j++) {           if (i == j) continue;           cout << j <<    ;         }         cout <<   n ;         cout.flush();         long long x, y;         cin >> x >> y;         if (y == apos)           s1.insert(i);         else           s2.insert(i);       }       cout <<  ?  ;       for (long long x : s1) cout << x <<    ;       for (long long y : s2) cout << y <<    ;       cout <<   n ;       cout.flush();       long long u, v;       cin >> u >> v;       long long p1 = -1, p2 = -1, c[2] = {};       if (s1.count(u)) {         if (v > apos) {           p1 = 1;           p2 = 0;         } else {           p1 = 0;           p2 = 1;         }       } else {         if (v > apos) {           p1 = 0;           p2 = 1;         } else {           p1 = 1;           p2 = 0;         }       }       for (int i = 1; i <= k; i++) {         if (i == pos) continue;         if (s1.count(i))           c[p1]++;         else           c[p2]++;       }       cout <<  !   << c[0] + 1 <<   n ;       cout.flush();     }   }   