#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair i_i; typedef pair ll_i; typedef pair d_i; typedef pair ll_ll; typedef pair d_d; struct edge { int u, v, w; }; ll MOD = 1000000007; ll _MOD = 1000000009; double EPS = 1e-10; int INF = INT_MAX / 2; char c[100001]; vector manachar(string& S) { vector R(S.length()); int i = 0, j = 0; while (i < S.size()) { while(i-j >= 0 && i+j < S.size() && S[i-j] == S[i+j]) ++j; R[i] = j; int k = 1; while(i-k >= 0 && i+k < S.size() && k+R[i-k] < j) R[i+k] = R[i-k], ++k; i += k; j -= k; } return R; } int main() { vector a(101); a[1] = 0; for (int i = 2; i <= 100; i++) { vector b(6); if (i % 2 == 0) b[a[i / 2] ^ a[i / 2]] = true; if (i % 2 == 1) b[a[i / 2] ^ a[i / 2 + 1]] = true; if (i % 3 == 0) b[a[i / 3] ^ a[i / 3] ^ a[i / 3]] = true; if (i % 3 == 1) b[a[i / 3] ^ a[i / 3] ^ a[i / 3 + 1]] = true; if (i % 3 == 2) b[a[i / 3] ^ a[i / 3 + 1] ^ a[i / 3 + 1]] = true; for (int& j = a[i]; b[j]; j++); } int N; cin >> N; cout << (a[N] ? 'A' : 'B') << endl; }