#include //#include #define INF 1000000007 #define rep(i, N) for(ll i = 0; i < N; i++) #define rep2(i, j, k) for(ll i = j; i < k; i++) #define chmax(x, y) x = max(x, y) #define chmin(x, y) x = min(x, y) #define print(x) cout << x << "\n" #define print2(x, y) cout << x << " " << y << "\n" #define printv(vec) rep(lp, vec.size()) cout << vec[lp] << " "; cout << "\n"; #define ALL(v) v.begin(), v.end() #define SUM(v) accumulate(ALL(v), 0LL) #define MAX(v) *max_element(ALL(v)) #define MIN(v) *min_element(ALL(v)) #define SORT(v) sort(ALL(v)) #define REV(v) reverse(ALL(v)) #define pb(x) push_back(x) #pragma GCC target("avx") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") typedef long long ll; using namespace std; //using namespace atcoder; using vl = vector; using vvl = vector>; using vs = vector; //using mint = modint998244353; //ll mod = 998244353; //using mint = modint1000000007; ll mod = 1000000007; void yn(bool b){b?print("Yes"):print("No");} map prime_fact(ll n){ map ret; rep2(i, 2, sqrt(n) + 1){ while (n % i == 0){ ret[i]++; n /= i; } } if(n != 1) ret[n]++; return ret; } void Main(){ ll n; cin >> n; map mp = prime_fact(n); ll cur = 0; for(auto p: mp) cur ^= p.second; {cur?print("Alice"):print("Bob");} } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); ll t = 1; //cin >> t; rep(i, t) Main(); return 0; }