#include #define rep(i,n) for(long long (i) = (0);(i) < (n);(i)++) #define reps(i,m,n) for(long long (i) = (m);(i) < (n);(i)++) #define rep2(i,n) for(long long (i) = (1);(i) <= (n);(i)++) #define reps2(i,m,n) for(long long (i) = (m);(i) <= (n);(i)++) #define rrep(i,n) for(long long (i) = (n) - (1);(i) >= (0);(i)--) #define rreps(i,m,n) for(long long (i) = (n) - (1);(i) >= (m);(i)--) #define rrep2(i,n) for(long long (i) = (n);(i) >= (0);(i)--) #define rreps2(i,m,n) for(long long (i) = (n);(i) >= (m);(i)--) #define MAX_N LLONG_MAX #define MIN_N LLONG_MIN #define mod 998244353 #define MOD 1000000007 using namespace std; using ll = long long; using ld = long double; using ull = unsigned long long; using P = pair; template bool chmax(T a,const T &b){if(a < b){a = b;return true;}else return false;} template bool chmin(T a,const T &b){if(a > b){a = b;return true;}else return false;} map factorization(ll n){ map res; for(ll i=2;i * i <= n;i++){ while(n % i == 0){ res[i]++; n /= i; } } if(n != 1) res[n] = 1; return res; } int main(){ ll n; cin >> n; const auto& div = factorization(n); ll judge = 0; for(auto d: div){ judge ^= d.second; } cout << (judge ? "Alice" : "Bob") << endl; return 0; }