#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 1e5 + 10;
const long long mod = 1e9 + 7;
const long long INF = 1e9;
inline long long bpow(long long t, long long n) {
  long long ans = 1;
  while (n > 0) {
    if (n & 1) ans = (ans * t) % mod;
    t = (t * t) % mod, n >>= 1;
  }
  return ans;
}
string s;
int ans, pos0, pos1, n;
void ask() {
  cout << "? " << s << endl;
  cin >> ans;
  ans = n - ans;
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) s += '1';
  ask();
  int tans = ans;
  s[0] = '0';
  ask();
  if (tans > ans)
    pos1 = 1;
  else
    pos0 = 1;
  s[0] = '1';
  int r = 1, l = n;
  while (r < l) {
    int mid = (r + l) / 2;
    for (int i = 1; i <= mid; i++) s[i] = '0';
    ask();
    if ((tans - ans) * (pos1 ? 1 : -1) == mid)
      r = mid + 1;
    else
      l = mid;
    for (int i = 1; i <= mid; i++) s[i] = '1';
  }
  if (!pos0)
    pos0 = r + 1;
  else
    pos1 = r + 1;
  cout << "! " << pos0 << " " << pos1 << endl;
}
