#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; namespace hc_q2 { template vector readVec(istream& ss, int N); vector primes; deque is_prime(100002, true); void genPrimes(int n) { for (int p = 2; p <= n; p++) { if (is_prime[p]) { primes.push_back(p); for (int i = p; i <= n; i += p) is_prime[i] = false; } } } int countPrimes(int n) { int count = 0; for (auto i : primes) { if (i > n) break; count++; } return count; } void test(istream& ss) { is_prime[0] = is_prime[1] = false; genPrimes(100001); int G; ss >> G; auto A = readVec(ss, G); for (auto i : A) { int r = countPrimes(i); cout << (r % 2 == 0 ? "Bob" : "Alice") << '\n'; } } template vector readVec(istream& ss, int N) { vector A(N); for (auto& i : A) ss >> i; return A; } void test(string t) { istringstream iss(t); istream& is(iss); test(is); } void test() { test(cin); } } using namespace hc_q2; int main(){ test(); return 0; }