#include using namespace std; typedef long long int ll; typedef pair pll; #define FOR(i, n, m) for(ll (i)=(m);(i)<(n);++(i)) #define REP(i, n) FOR(i,n,0) #define OF64 std::setprecision(10) const ll MOD = 1000000007; const ll INF = (ll) 1e15; class Prime { public: Prime(ll n) { mPrimeTbl.clear(); vector u(n, false); for (ll i = 2; i <= n; ++i) { if (u[i]) continue; mPrimeTbl.push_back(i); for (ll p = i; p <= n; p += i) u[p] = true; } } ~Prime() {} ll num() { return static_cast(mPrimeTbl.size()); } ll get(ll index) { return mPrimeTbl[index]; } private: vector mPrimeTbl; }; int main() { ll N; cin >> N; Prime prime(100000); vector v; REP(i, prime.num()) { ll p = prime.get(i); if (N % p != 0) continue; ll n = 0; while (N % p == 0) { n++; N /= p; } v.push_back(n); } if (N > 1) v.push_back(1); ll x = 0; REP(i, v.size()) { x ^= v[i]; } if (x != 0) cout << "Alice" << endl; else cout << "Bob" << endl; return 0; }