#include "combo.h"
#include <vector>
#include <iostream>
using namespace std;
std::string guess_sequence(int N) {
int a = press("AB");
char first;
if (a==0){
int b = press("X");
if (b==0) first = 'Y';
else first = 'X';
} else{
int b = press("A");
if (b==0) first = 'B';
else first = 'A';
}
vector<char> remaining;
for (char s: {'A', 'B', 'X', 'Y'}){
if (s!=first){
remaining.push_back(s);
}
}
string s = "";
s+=first;
if (N==1) return s;
for (int i=0; i<N-2; i++){
string q = (s + remaining[0]) + (s + remaining[1] + remaining[0]) + (s + remaining[1] + remaining[1]) + (s + remaining[1] + remaining[2]);
int ans = press(q);
if (ans == s.size()){
s+=remaining[2];
} else if (ans==s.size()+1){
s+=remaining[0];
} else{
s+=remaining[1];
}
}
int p = press(s+remaining[0]+s+remaining[1]);
if (p==s.size()){
s += remaining[2];
} else{
p = press(s+remaining[0]);
if (p==s.size()){
s += remaining[1];
} else{
s += remaining[0];
}
}
// cout << s << endl;
return s;
}