#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define fs first
#define sc second
using namespace std;
const int N = 1005;
int n, t;
char ans[N];
map<string, bool> asked;
bool ask(string s) {
if (asked.count(s)) return asked[s];
cout << "Q " << s << endl;
cout.flush();
char c;
cin >> c;
bool res = 0;
if (c == 'P') res = 1;
return asked[s] = res;
}
void go(int l, int r) {
if (l > r) return;
if (l == r) {
string s = "";
for (int i = 0; i < n; i++) s += '0';
s[l] = '1';
if (ask(s)) ans[l] = '1';
else ans[l] = '0';
return;
}
string s = "";
int mid = (l + r) / 2;
for (int i = 0; i < n; i++) s += '0';
for (int i = l; i <= mid; i++) s[i] = '1';
bool ok = ask(s);
if (ok) go(l, mid);
else for (int i = l; i <= mid; i++) ans[i] = '0';
s.clear();
for (int i = 0; i < n; i++) s += '0';
for (int i = mid + 1; i <= r; i++) s[i] = '1';
ok = ask(s);
if (ok) go(mid + 1, r);
else for (int i = mid + 1; i <= r; i++) ans[i] = '0';
}
signed main() {
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
double p;
cin >> n >> p >> t;
while (t--) {
asked.clear();
for (int i = 0; i < n; i++) ans[i] = '0';
go(0, n - 1);
cout << "A ";
for (int i = 0; i < n; i++) cout << ans[i];
cout << endl;
cout.flush();
char c;
cin >> c;
}
}