#include <bits/stdc++.h>
using namespace std;
int n, t, lst, Ans[333], S[333];
int ask(int x, int y) {
  printf("? %d %d\n", x, y);
  fflush(stdout);
  int xx;
  scanf("%d", &xx);
  return xx;
}
int Do(int x, int y, int b) {
  int a1, a2, _0 = 0, _1 = 0, ans = -1, A0 = n - x + 1, A1 = y;
  while (1) {
    a1 = t;
    a2 = ask(x, y);
    if ((A0 % 2) ^ ((a1 + a2) % 2)) {
      _1 ^= 1;
      if (b == 1 && !_0) {
        ans = (A1 + (a2 - a1)) / 2;
        if (_1) ans = A1 - ans;
      }
    } else {
      _0 ^= 1;
      if (b == 0 && !_1) {
        ans = (A0 + (a2 - a1)) / 2;
        if (_0) ans = A0 - ans;
      }
    }
    t = a2;
    if (ans != -1 && !_0 && !_1) return ans;
  }
}
signed main() {
  scanf("%d%d", &n, &t);
  if (n == 1) {
    printf("! %d\n", t);
    fflush(stdout);
    return 0;
  }
  if (n % 2 == 1) {
    for (int i = 1; i < n; i++) Ans[i + 1] = Do(i, i + 1, 1);
    Ans[1] = t - Do(2, n, 0);
  } else {
    for (int i = 1; i <= n; i++) Ans[i] = Do(i, i, 1);
  }
  printf("! ");
  for (int i = 1; i <= n; i++) printf("%d", Ans[i] - Ans[i - 1]);
  fflush(stdout);
  return 0;
}
