//By Rk4371 #include typedef long long int ll; using namespace std; bool isprime(ll n) { // Corner cases if (n <= 1) return false; if (n <= 3) return true; // This is checked so that we can skip // middle five numbers in below loop if (n%2 == 0 || n%3 == 0) return false; for (ll i=5; i*i<=n; i=i+6) if (n%i == 0 || n%(i+2) == 0) return false; return true; } ll gcd(ll a,ll b) { return((a == 0)? b:gcd(b%a, a)); } ll diff(ll a,ll b) { return((a>b)?(a-b):(b-a)); } void SieveOfEratosthenes(int n) { // Create a boolean array "prime[0..n]" and initialize // all entries it as true. A value in prime[i] will // finally be false if i is Not a prime, else true. bool prime[n+1]; memset(prime, true, sizeof(prime)); for (int p=2; p*p<=n; p++) { // If prime[p] is not changed, then it is a prime if (prime[p] == true) { // Update all multiples of p for (int i=p*2; i<=n; i += p) prime[i] = false; } } ll d=0; // Print all prime numbers for (int p=2; p<=n; p++) if (prime[p]) d++; cout<>tc; vector v; for(ll i=2;i<=100000;i++) { if(isprime(i)==true) { v.push_back(i); } } while(tc--) { ll n; cin>>n; ll po=0; for(ll i=0;i<100000;i++) { if(v[i]<=n) { po++; } else { break; } } if(po%2==0) cout<< "Bob\n"; else cout<<"Alice\n"; } return 0; }