#include <bits/stdc++.h>
#define int long long
#define F first
#define S second
using namespace std;
int vit(int xx){
int v = 1, c = 0;
while(v<xx){
v*=2;
c++;
}
return c;
}
signed main(){
int n; cin >> n;
int vo = vit(n);
vector<bool> sim(vo+1, false);
int pi = 0, y = -1;
for(int x=0; x<vo+1; x++){
cout << "? ";
for(int i=0; i<n; i++){
if((1<<x)&i)cout << "1";
else cout << "0";
}
cout << endl;
cin >> pi;
if(pi%2==0)sim[x]= true;
else y = x;
}
vector<int> tovi;
for(int i=0; i<n; i++){
if((1<<y)&i)tovi.push_back(i);
}
// for(auto it: tovi)cout << it << " ";
// code the viary search
int fi = 0, ri = tovi.size();
if(tovi.size()>1){
while(fi < ri){
int m = (fi+ri)/2;
string s = "";
for(int i=0; i<n; i++)s.push_back('0');
for(int i=0; i<=m; i++)s[tovi[i]]= '1';
cout << "? "<< s << endl;
int ss; cin >> ss;
if(ss%2==0) fi = m+1;
else ri = m;
}
}
int xx = tovi[fi];
int yy = 0;
for(int i=0; i<vo+1; i++){
if(sim[i]&&xx&(1<<i))yy+=(1<<i);
if(!sim[i]&& !(xx&(1<<i)))yy+=(1<<i);
}
cout << "! "<< xx << " "<< yy << endl;
}