#include #define INIT std::ios::sync_with_stdio(false);std::cin.tie(0); //#define int ll #define VAR(type, a) type a;std::cin>>a; // VAR(int, x); #define OUT(d) std::cout<<(d); #define SP std::cout<<" "; #define TAB std::cout<<"\t"; #define BR std::cout<<"\n"; #define ENDL std::cout< c(n);for(auto& i:c)std::cin>>i; #define MAT(type, c, m, n) std::vector> c(m, std::vector(n));for(auto& r:c)for(auto& i:r)std::cin>>i; #define ALL(a) (a).begin(),(a).end() #define FOR(i,a,b) for (int i=(a);i<(b);i++) #define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--) #define REP(i,n) for (int i=0;i<(n);i++) #define RREP(i,n) for (int i=(n)-1;i>=0;i--) using ll = long long; std::vector> PrimeFact(ll n){ std::vector> result; double sqrtn = std::sqrt(n); for(ll i=2; i<=sqrtn; ++i){ int divCount = 0; if(n%i == 0){ do{ ++divCount; n/=i; }while(n%i == 0); result.push_back(std::make_pair(i, divCount)); } } if(n!=1){ result.push_back(std::make_pair(n, 1)); } return result; } signed main(){ INIT; VAR(ll, n); auto p = PrimeFact(n); ll check = 0; for(const auto& x : p){ check ^= x.second; } if(check){ OUT("Alice")BR; }else{ OUT("Bob")BR; } return 0; }