#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; bool isPrime[100005]; void sieve(int N) { for(int i = 0; i <= N;++i) { isPrime[i] = true; } isPrime[0] = false; isPrime[1] = false; for(int i = 2; i * i <= N; ++i) { if(isPrime[i] == true) { // Mark all the multiples of i as composite numbers for(int j = i * i; j <= N ;j += i) isPrime[j] = false; } } } int ar[100005]; int main(){ int g; cin >> g; sieve(100004); int cnt=0; for(int i=0;i<100005;i++){ if(isPrime[i]) cnt++; ar[i]=cnt; } for(int a0 = 0; a0 < g; a0++){ int n; cin >> n; if(ar[n]%2==0){ cout<<"Bob" << endl; } else{ cout << "Alice" << endl; } // your code goes here } return 0; }