#include #include using namespace std; unordered_map dp; string winner(long long a, long long b) { string key = to_string(a) + "," + to_string(b); if (dp.find(key) != dp.end()) { return dp[key]; } if (a == 0) { dp[key] = "Bob"; return "Bob"; } if (b == 0) { dp[key] = "Alice"; return "Alice"; } if (winner(a - 1, b) == "Bob") { dp[key] = "Alice"; return "Alice"; } if (a >= b) { if (winner(a % b, b) == "Bob") { dp[key] = "Alice"; return "Alice"; } } dp[key] = "Bob"; return "Bob"; } int main() { long long A, B; cin >> A >> B; cout << winner(A, B) << endl; return 0; }