#include <bits/stdc++.h>
const int N = 1010;
int n, l, r, q, a[N], b[N], pos[2];
int query(int *b) {
  printf("? ");
  for (int i = 1; i <= n; i++) printf("%d", b[i]);
  printf("\n");
  fflush(stdout);
  int k;
  scanf("%d", &k);
  return k;
}
int main() {
  scanf("%d", &n);
  l = 1;
  r = n;
  q = n - query(a);
  while (l != r) {
    int m = l + r >> 1;
    for (int i = 1; i <= n; i++) b[i] = a[i];
    for (int i = l; i <= m; i++) b[i] ^= 1;
    int t = n - query(b);
    if (q - t == m - l + 1)
      pos[a[l]] = l, l = m + 1;
    else if (t - q == m - l + 1)
      pos[b[l]] = l, l = m + 1;
    else
      r = m;
  }
  if (!pos[0]) pos[0] = l;
  if (!pos[1]) pos[1] = l;
  printf("! %d %d\n", pos[0], pos[1]);
  fflush(stdout);
  return 0;
}
