#include <bits/stdc++.h>
using namespace std;
using LL = long long;
using PII = pair<int, int>;
const int N = 310;
int sum[N], ans[N];
int n, t;
int ask(int l, int r) {
  int t;
  printf("? %d %d\n", l, r);
  fflush(stdout);
  scanf("%d", &t);
  return t;
}
int query(int l, int r) {
  int tmp = ask(l, r);
  while (tmp == n - t) {
    ask(1, n);
    tmp = ask(l, r);
  }
  int cnt = (t + (r - l + 1) - tmp) / 2;
  tmp = ask(l, r);
  while (tmp != t) {
    ask(1, n);
    tmp = ask(l, r);
  }
  return cnt;
}
int query2(int i) {
  int tmp = ask(i, i);
  while ((t + tmp + i) & 1) {
    ask(i, i);
    tmp = ask(i, i);
  }
  int cnt = (t + i - tmp) / 2;
  tmp = ask(i, i);
  while (tmp != t) {
    ask(i, i);
    tmp = ask(i, i);
  }
  return cnt;
}
int main() {
  scanf("%d%d", &n, &t);
  if (n % 2 == 1) {
    for (int i = 1; i < n; i++)
      sum[i] = ((i + n) & 1) ? query(1, i) : t - query(i + 1, n);
  } else {
    for (int i = 1; i < n; i++) sum[i] = query2(i);
  }
  sum[n] = t;
  for (int i = 1; i <= n; i++) ans[i] = sum[i] - sum[i - 1];
  printf("! ");
  for (int i = 1; i <= n; i++) printf("%d", ans[i]);
  puts("");
  fflush(stdout);
  return 0;
}
