#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define DBG cerr << '!' << endl; #define REP(i,n) for(int (i) = (0);(i) < (n);++i) #define rep(i,s,g) for(int (i) = (s);(i) < (g);++i) #define rrep(i,s,g) for(int (i) = (s);i >= (g);--(i)) #define PB push_back #define MP make_pair #define FI first #define SE second #define SHOW1d(v,n) {for(int i = 0;i < (n);i++)cerr << v[i] << ' ';cerr << endl << endl;} #define SHOW2d(v,i,j) {for(int a = 0;a < i;a++){for(int b = 0;b < j;b++)cerr << v[a][b] << ' ';cerr << endl;}cerr << endl;} #define ALL(v) v.begin(),v.end() using namespace std; typedef long long ll; typedef vector iv; typedef vector iiv; typedef vector sv; int main() { int n,ans = 0,tmp; cin >> n; tmp = n; for(int i = 2;i * i <= n;i++) { int cou = 0; while(tmp % i == 0) { tmp /= i; cou++; } ans ^= cou; } if(tmp > 1)ans ^= 1; cout << (ans?"Alice":"Bob") << endl; return 0; }