#include <bits/stdc++.h>
using namespace std;
int query(string s) {
  cout << "? " << s << endl;
  fflush(stdout);
  int n;
  cin >> n;
  return n;
}
string build(int n, int l, int r) {
  string a(n, '0');
  for (int i = l; i <= r; i++) a[i] = '1';
  return a;
}
void answer(int a, int b) {
  cout << "! " << a + 1 << " " << b + 1 << endl;
  fflush(stdout);
  exit(0);
}
int main() {
  int n;
  cin >> n;
  int lo = 0;
  int hi = n - 1;
  int total = query(build(n, 0, -1));
  int cur = total;
  while (lo < hi) {
    int rest = total - cur;
    int mid = (hi + lo) / 2;
    int dif = query(build(n, lo, mid));
    int sz = mid - lo + 1;
    dif -= rest + sz;
    int left = (cur - dif) / 2;
    int right = (cur + dif) / 2;
    if (left == 0 && right == hi - mid)
      answer(mid, mid + 1);
    else if (left == sz && right == 0)
      answer(mid + 1, mid);
    else if (left > 0 && left < sz)
      hi = mid, cur = left;
    else
      lo = mid + 1, cur = right;
  }
}
