#include "combo.h"
#include <cassert>
#include <string>
#include <vector>
using namespace std;
/*
Telebe of Adicto && Mamedov yani AzeTurk810
I see humans but no humanity
*/
#include <iostream>
// mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
using ll = long long;
using namespace std;
#define ln '\n'
#define INFi 1e9
#define INFll 1e18
#ifdef ONPC
#include <algo.hpp>
#else
#define dbg(...)
#define dbg_out(...)
#endif
string ans;
int N;
char solve() {
return 0;
}
vector<char> rr;
int ask() {
assert(!ans.empty());
vector<string> s(4);
s[0] = ans + rr[0];
s[1] = ans + rr[1] + rr[0];
s[2] = ans + rr[1] + rr[1];
s[3] = ans + rr[1] + rr[2];
for (int i = 0; i < 4; i++) {
assert(s[i].size() <= N);
while (s[i].size() < N) {
s[i].push_back(ans[0]);
}
}
string S = s[0] + s[1] + s[2] + s[3];
assert(S.size() == (N * 4));
return press(S);
}
char cr[] = {'A', 'B', 'X', 'Y'};
int pres(const string &s) {
return press(s);
}
int pres2(string l, string r) {
while (l.size() < N) {
l.push_back(ans[0]);
}
while (r.size() < N) {
r.push_back(ans[1]);
}
l = l + r;
return press(l);
}
std::string guess_sequence(int _n) {
N = _n;
int last = 0, cur = 0;
last = 1;
if (pres("AB")) {
if (pres("B")) {
ans = "B";
} else {
ans = "A";
}
} else {
if (pres("X")) {
ans = "X";
} else {
ans = "Y";
}
}
for (int i = 0; i < 4; i++) {
const char &c = cr[i];
if (c == ans[0])
continue;
rr.push_back(c);
}
assert(!ans.empty());
bool last_ok = false;
for (int i = 1; i < N - 1; i++) {
int cur = ask();
if (cur == last) {
ans.push_back(rr[2]);
} else if (cur == last + 1) {
ans.push_back(rr[0]);
} else {
assert(last + 2 == cur);
ans.push_back(rr[1]);
}
last = ans.size();
}
if (N == 1)
goto answer;
if (pres2(ans + rr[0], ans + rr[1]) > last) {
if (pres(ans + rr[0]) > last) {
ans = ans + rr[0];
} else {
ans = ans + rr[1];
}
} else {
ans = ans + rr[2];
}
answer:
assert(N == ans.size());
return ans;
}
// Attack on titan<3
// Just Imaginary
/*
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⠀⢀⣴⣾⠀⠀⠀⡀⢀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣦⣾⣿⣿⣿⣿⣿⡆⠁⠀⢀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⡠⠂⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠠⠔⠚⣿⣿⣿⣿⣿⣦⡄⠀⠁⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⠠⠐⢂⠉⡀⣀⣤⣄⢻⣿⣿⡟⢈⡹⣿⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⡀⠄⠂⠈⠀⣶⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠘⣷⡀⠀⡀⠐⠂⠐⢄
⠀⠀⠀⠀⠀⠀⠀⣿⣿⠟⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣀⣾⣷⠯⠀⠤⠤⠄⠈
⠀⠀⠀⠀⠀⠀⣼⣿⡟⠀⠀⣹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣰⣿⠋⠀⠀⢠⣾⣿⣿⣿⣿⣿⣭⠟⢻⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀
⠀⠀⠀⣀⣶⡟⠁⠀⢾⣶⣿⠟⠉⠈⢻⣿⣿⣿⣦⣜⠀⠛⠛⠿⠁⠀⠀⠀⠀⠀
⠚⠻⠿⠿⡿⠁⠀⢠⣿⣿⠁⠀⣠⠖⠋⠉⠻⣿⣿⣿⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣰⣿⡿⠃⠠⠊⠁⠀⠀⠀⠀⠈⢿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢀⣴⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣠⣾⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢀⣴⠾⠟⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
*/