#include <bits/stdc++.h>
using namespace std;
void setString(string &q, int l, int r, char c) {
  for (int i = l; i <= r; i++) q[i] = c;
}
void xorString(string &q, int l, int r) {
  for (int i = l; i <= r; i++) q[i] = q[i] == '0' ? '1' : '0';
}
int solve(string &q, int n, int x) {
  int l = 1, r = n - 1, mid, y;
  while (r > l) {
    mid = (l + r) / 2;
    xorString(q, mid + 1, r);
    cout << "? " + q << endl;
    cout.flush();
    cin >> y;
    xorString(q, mid + 1, r);
    if (x == y + (r - mid))
      return mid + 1;
    else if (x + (r - mid) == y)
      r = mid;
    else
      l = mid + 1;
  }
  return l;
}
int main() {
  int n, x, y;
  int ans0, ans1;
  cin >> n;
  string q(n, 0);
  setString(q, 0, n - 1, '0');
  cout << "? " + q << endl;
  cout.flush();
  cin >> x;
  setString(q, 0, 0, '1');
  cout << "? " + q << endl;
  cout.flush();
  cin >> y;
  if (x < y) {
    setString(q, 0, n - 1, '0');
    ans0 = 1;
    ans1 = solve(q, n, x) + 1;
  } else {
    setString(q, 0, n - 1, '1');
    ans0 = solve(q, n, n - 1 - y) + 1;
    ans1 = 1;
  }
  cout << "! " << ans0 << " " << ans1 << endl;
  cout.flush();
  return 0;
}
