#include <bits/stdc++.h>
using namespace std;
const int N = 100000 + 10;
const int M = 1000000007;
const double PI = atan(1) * 4;
const int oo = 1000000000;
int n, ct, b, p0 = -1, p1 = -1;
string s;
int cttt;
int que() {
  assert(++cttt <= 15);
  printf("? %s\n", s.c_str());
  fflush(stdout);
  int x;
  scanf("%d", &x);
  return x;
}
int main() {
  cin >> n;
  s.resize(n, '0');
  ct = que();
  s[0] = '1';
  b = que();
  char o = '1', z = '0';
  if (b > ct)
    p0 = 1;
  else {
    swap(o, z);
    p1 = 1;
  }
  s.clear();
  s.resize(n, z);
  ct = que();
  int l = 0, r = n - 1, md;
  while (l <= r) {
    md = (l + r) / 2;
    for (int i = 0; i < n; ++i)
      if (i >= l && i <= md)
        s[i] = o;
      else
        s[i] = z;
    int d = que();
    if (l == r) {
      if (p0 == -1)
        p0 = l + 1;
      else
        p1 = l + 1;
      break;
    }
    if (d - ct == md - l + 1)
      l = md + 1;
    else
      r = md;
  }
  cout << "! " << p0 << " " << p1 << endl;
}
