#include using namespace std; #define rep(i, n) for (int i=0; i<(int)n; i++) using ll = long long int; int main() { ll N; cin >> N; auto dfs = [&](auto dfs, ll x, string S) { if (x == N) { rep(i, (int)S.size()) cout << S[i]; cout << endl; return true; } if (x == (N-1) / 2) { rep(i, (int)S.size()) cout << S[i]; cout << 'A' << endl; return true; } if (x == (N-1) / 3) { rep(i, (int)S.size()) cout << S[i]; cout << 'B' << endl; return true; } if (x > N) return false; bool ret = false; ret = (dfs(dfs, x * 4 + 3, S + "AA")) || ret; ret = (dfs(dfs, x * 6 + 3, S + "BA")) || ret; ret = (dfs(dfs, x * 6 + 4, S + "AB")) || ret; ret = (dfs(dfs, x * 9 + 4, S + "BB")) || ret; return ret; }; dfs(dfs, 1, ""); return 0; }