#include <bits/stdc++.h>
using namespace std;
long long int ask(string& s) {
  cout << "? " << s << "\n";
  cout.flush();
  long long int res;
  cin >> res;
  return res;
}
void print_ans(long long int pos0, long long int pos1) {
  cout << "! " << pos0 << " " << pos1 << "\n";
  cout.flush();
  exit(0);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int n;
  cin >> n;
  string s1(n, '1');
  long long int z1 = ask(s1);
  s1.pop_back();
  s1.push_back('0');
  long long int z2 = ask(s1);
  string s;
  long long int prev;
  if (z2 > z1) {
    s1.pop_back();
    s1.push_back('1');
    s = s1;
    prev = z1;
    long long int lo = 0;
    long long int hi = n - 2ll;
    long long int indx = n;
    while (lo <= hi) {
      long long int mid = (lo + hi) / 2;
      string x;
      for (long long int i = 0; i <= mid - 1ll; i++) {
        x += "1";
      }
      for (long long int i = mid; i <= n - 2ll; i++) {
        x += "0";
      }
      x += "1";
      if (ask(x) == prev + (n - 2ll - mid + 1ll)) {
        hi = mid - 1ll;
      } else {
        indx = mid;
        lo = mid + 1ll;
      }
    }
    print_ans(indx + 1ll, n);
  } else {
    s = s1;
    prev = z2;
    long long int lo = 0;
    long long int hi = n - 2ll;
    long long int indx = n;
    while (lo <= hi) {
      long long int mid = (lo + hi) / 2;
      string x;
      for (long long int i = 0; i <= mid - 1ll; i++) {
        x += "1";
      }
      for (long long int i = mid; i <= n - 2ll; i++) {
        x += "0";
      }
      x += "0";
      if (ask(x) == prev - (n - 2ll - mid + 1ll)) {
        hi = mid - 1ll;
      } else {
        indx = mid;
        lo = mid + 1ll;
      }
    }
    print_ans(n, indx + 1ll);
  }
}
