#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
string guess_sequence(int N) {
char let[4] = {'A', 'B', 'X', 'Y'};
int banidx = -1;
string p = "A";
if (press(p) == 1) banidx = 0;
else {
for (int i = 1; i < 3; i++) {
p[0] = let[i];
if (press(p) == 1) {
banidx = i;
break;
}
}
}
if (banidx == -1) {
p[0] = let[3];
banidx = 3;
}
if (N == 1) return p;
for (int i = 1; i < N; i++) p += let[banidx];
for (int i = 0; i < 2; i++) p += p;
// cout << p << '\n';
string s;
for (int i = 1; i < N-1; i++) {
p[i] = let[(banidx+1)%4];
p[i+N] = let[(banidx+2)%4];
p[i+N+1] = let[(banidx+1)%4];
p[i+2*N] = let[(banidx+2)%4];
p[i+2*N+1] = let[(banidx+2)%4];
p[i+3*N] = let[(banidx+2)%4];
p[i+3*N+1] = let[(banidx+3)%4];
// cout << p << ' ';
int coin = press(p);
// cout << coin << '\n';
if (coin == i+2) p[i] = let[(banidx+2)%4];
else if (coin == i) p[i] = let[(banidx+3)%4];
p = p.substr(0, N);
if (i+2 == N) {
s = p;
}
for (int j = 0; j < 2; j++) p += p;
}
for (int i = 0; i < 4; i++) {
if (i == banidx) continue;
s[N-1] = let[i];
if (press(s) == N) break;
}
// cout << "FINAL " << s << '\n';
return s;
}