#include using namespace std; using lli = long long; #define rep(i,n) for(int i=0;ibool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b ostream &operator<<(ostream &os, const vector &x){ os << "{"; for(size_t i = 0; i < x.size(); i++){ if(i < x.size()-1) os << x[i] << ", "; else os << x[i]; } os << "}"; return os; } int main(void){ int n; cin >> n; unordered_map m; int k = n; for(int i = 2; i*i <= k; i++){ while(k%i == 0){ k/=i; m[i]++; } } if(k != 1) m[k] = 1; unordered_map memo; function g = [&](int x){ if(memo.count(x) == 1) return memo[x]; if(x == 1) return memo[x] = 0; unordered_map mex; for(auto mi : m){ int k = x; while(k%mi.first == 0){ mex[g(k/mi.first)] = true; k/=mi.first; } } for(int i = 0; i <= x; i++){ if(!mex[i]){ return memo[x] = i; } } }; if(g(n) == 0) cout << "Bob" << endl; else cout << "Alice" << endl; return 0; }