import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static int sieveOfEratosthenes(int n) { // Create a boolean array "prime[0..n]" and initialize // all entries it as true. A value in prime[i] will // finally be false if i is Not a prime, else true. boolean prime[] = new boolean[n+1]; for(int i=0;i<=n;i++) prime[i] = true; 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 count=0; // Print all prime numbers for(int i = 2; i <= n; i++) { if(prime[i] == true) count++; } return count; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int g = in.nextInt(); for(int a0 = 0; a0 < g; a0++){ int n = in.nextInt(); // your code goes here /* Set set=new HashSet(); for(int i=1 ; i<=n;i++) set.add(i); Iterator it =set.iterator(); int chance=0; while(it.hasNext()){ Object current=it.next(); int i=toInt(current); if(i!=1){ boolean p=isPrime(i); if(p==true){ it.remove(); chance++; Iterator itr =set.iterator(); while(itr.hasNext()){ Object jc=itr.next(); int j=toInt(jc); if(j%i==0) itr.remove(); } } } } if(chance%2==0) System.out.println("Bob"); else System.out.println("Alice"); */ int c= sieveOfEratosthenes(n); if(c%2==0) System.out.println("Bob"); else System.out.println("Alice"); } } }