#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; const int maxN = 100000 + 5; vector primeNumbers; void eratosthenes() { vector sieve (maxN + 1, true); sieve[0] = sieve[1] = false; for (int i = 2; i <= maxN; i++) { if (sieve[i] && i * 1ll * i <= maxN) { for (int j = i * i; j <= maxN; j +=i) { sieve[j] = false; } } } for (int i = 2; i <=maxN; i++) { if (sieve[i]) { primeNumbers.push_back(i); } } } int main(){ eratosthenes(); int g; cin >> g; for(int a0 = 0; a0 < g; a0++){ int n; cin >> n; vector::iterator up; up = upper_bound (primeNumbers.begin(), primeNumbers.end(), n); if ((up - primeNumbers.begin()) % 2 == 0) { cout << "Bob\n"; } else { cout << "Alice\n"; } } return 0; }