#include using namespace std; // 再帰なしでシミュレーション bool canAliceWin(long long A, long long B) { // Alice と Bob が交互に操作を行い、どちらかが0になるまで続く bool aliceTurn = true; // Aliceが先行 while (A > 0 && B > 0) { if (aliceTurn) { // Aliceのターン if (A >= B && B > 0) { // AliceはAをBで割った余りにすることができる A %= B; } else { // 1減らす A--; } } else { // Bobのターン if (B >= A && A > 0) { // BobはBをAで割った余りにすることができる B %= A; } else { // 1減らす B--; } } // 次のターンは相手 aliceTurn = !aliceTurn; } // AかBが0になったとき、先に0になったほうが勝ち // 最後に0になったプレイヤーが勝つ return A == 0; // Aliceが0になった場合、Bobの勝ち } int main() { long long A, B; cin >> A >> B; if (canAliceWin(A, B)) { cout << "Alice" << endl; } else { cout << "Bob" << endl; } return 0; }