#include <iostream>
#include <bitset>
#include <cassert>
using namespace std;

int n, m;
bool encode(int x, int y, int dir, int& res) {
    res = dir * 64 + x * m + y;
    return x >= 0 && x + dir < n && y >= 0 && y + !dir < m;
}
bool go(bitset<128> cur, int x, int y) {
    int res = 0;
    int move;
    if (!res && encode(x - 1, y, 1, move) && !cur[move]) cur[move] = 1, res |= !go(cur, x - 1, y), cur[move] = 0;
    if (!res && encode(x, y - 1, 0, move) && !cur[move]) cur[move] = 1, res |= !go(cur, x, y - 1), cur[move] = 0;
    if (!res && encode(x, y, 1, move) && !cur[move]) cur[move] = 1, res |= !go(cur, x + 1, y), cur[move] = 0;
    if (!res && encode(x, y, 0, move) && !cur[move]) cur[move] = 1, res |= !go(cur, x, y + 1), cur[move] = 0;
    return res;
}
int main() {
    cin >> n >> m;
    assert(n * m < 64);
    bitset<128> bs;
    cout << (go(bs, 0, 0) ? 'A' : 'B') << endl;
    return 0;
}




