#include <bits/stdc++.h>
using namespace std;
int N, x;
int dzero, d;
char ss[1002];
int toFind;
int pos1, pos0;
int main() {
  scanf("%d", &N);
  for (int i = 0; i < N; i++) ss[i] = '0';
  ss[N] = 0;
  printf("? %s\n", ss);
  fflush(stdout);
  scanf("%d", &dzero);
  ss[0] = '1';
  printf("? %s\n", ss);
  fflush(stdout);
  scanf("%d", &d);
  if (dzero < d) {
    pos0 = 1;
    toFind = 1;
  } else {
    pos1 = 1;
    toFind = 0;
  }
  int l, r;
  l = 0;
  r = N - 1;
  while (l < r) {
    int mid = (l + r) / 2;
    for (int i = 0; i < N; i++) ss[i] = '0';
    for (int i = l; i <= mid; i++) ss[i] = '1';
    printf("? %s\n", ss);
    fflush(stdout);
    scanf("%d", &d);
    if (toFind == 0) {
      if (d - dzero == mid - l + 1) {
        r = l;
        break;
      } else if (dzero - d == mid - l + 1) {
        l = mid + 1;
      } else
        r = mid;
    } else {
      if (dzero - d == mid - l + 1) {
        r = l;
        break;
      } else if (d - dzero == mid - l + 1) {
        l = mid + 1;
      } else
        r = mid;
    }
  }
  if (toFind == 0)
    pos0 = l + 1;
  else
    pos1 = l + 1;
  printf("! %d %d\n", pos0, pos1);
  fflush(stdout);
  return 0;
}
