#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; void SieveOfEratosthenes(bool (&prime)[100001], int n = 100000) { 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; } } } int main(){ int g; cin >> g; for(int a0 = 0; a0 < g; a0++){ int n; cin >> n; bool ar[100001]; SieveOfEratosthenes(ar); int k=0; for(int i=2; i<=n; i++){ if(ar[i]){ k++; //cout << i << endl; } } if(k%2!=0) cout << "Alice" << endl; else cout << "Bob" << endl; } return 0; }