#include #include #include #include #include // for std::pair #include // for std::swap std::map, bool> memo; bool solve(long long a, long long b) { if (memo.count({a, b})) { return memo[{a, b}]; } bool res; if (a < b) { if (a - 1 == 0) { res = true; } else { res = !solve(b, a - 1); } } else { // a >= b if (a % b == 0) { res = true; } else { if (a / b > 1) { res = true; } else { bool can_win_by_mod_path = !solve(b, a % b); bool can_win_by_subtract_path = !solve(b, a - 1); res = can_win_by_mod_path || can_win_by_subtract_path; } } } return memo[{a, b}] = res; } int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(NULL); long long A, B; std::cin >> A >> B; if (solve(A, B)) { std::cout << "Alice" << std::endl; } else { std::cout << "Bob" << std::endl; } return 0; }