import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { private static boolean[] sievePrimes(int n) { // initially assume all integers are prime boolean[] isPrime = new boolean[n + 1]; for (int i = 2; i <= n; i++) { isPrime[i] = true; } // mark non-primes <= n using Sieve of Eratosthenes for (int factor = 2; factor * factor <= n; factor++) { if (isPrime[factor]) { for (int j = factor; factor * j <= n; j++) { isPrime[factor*j] = false; } } } return isPrime; } private static int countPrimes(boolean[] isPrime, int n) { int primes = 0; for (int i = 2; i <= n; i++) { if (isPrime[i]) primes++; } return primes; } public static void main(String[] args) { // 10^5 int maxValue = 100000; // Precompute primes boolean[] isPrime = sievePrimes(maxValue); Scanner in = new Scanner(System.in); int g = in.nextInt(); for(int i = 0; i < g; i++){ int n = in.nextInt(); if (countPrimes(isPrime, n) % 2 == 1) { System.out.println("Alice"); } else { System.out.println("Bob"); } } } }