#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];
set<string> asked;
bool ask(string s) {
cout << "Q " << s << endl;
cout.flush();
char c;
cin >> c;
bool res = 0;
if (c == 'P') res = 1;
return 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 (asked.find(s) != asked.end()) return;
if (ask(s)) ans[l] = '1';
else ans[l] = '0';
asked.insert(s);
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';
if (asked.find(s) == asked.end()) {
bool ok = ask(s);
asked.insert(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';
if (asked.find(s) == asked.end()) {
bool ok = ask(s);
asked.insert(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--) {
go(0, n - 1);
asked.clear();
cout << "A ";
for (int i = 0; i < n; i++) cout << ans[i];
cout << endl;
char c;
cin >> c;
}
}