import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public static ArrayList generatePrimes(int number) { ArrayList primes = new ArrayList(); if (number <= 1) return primes; primes.add(2); if (number == 2) { return primes; } primes.add(3); if (number == 3) { return primes; } for (int i = 4; i <= number; i++) { boolean isPrime = true; for (int j = 0; j < primes.size(); j++) { if (i % primes.get(j) == 0) { isPrime = false; break; } } if (isPrime) primes.add(i); } return primes; } public static int getPrimesCountBefore(ArrayList primes, int number) { if (number <= 1) return 0; if (number == 2) return 1; if (number == 3) return 2; if (number >= primes.get(primes.size() - 1)) return primes.size(); int ptr1 = 0; int ptr2 = primes.size() - 1; while (ptr1 < ptr2) { int mid = (ptr1 + ptr2) / 2; if (primes.get(mid) == number) return mid + 1; if (primes.get(mid) > number && primes.get(mid - 1) <= number) return mid; if (primes.get(mid) > number && primes.get(mid - 1) > number) ptr2 = mid; else ptr1 = mid; } return -1; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int g = in.nextInt(); int[] numbers = new int[g]; int max = 0; for (int a0 = 0; a0 < g; a0++) { int n = in.nextInt(); numbers[a0] = n; if (n > max) max = n; } //System.out.println("Starting : "); ArrayList primes = generatePrimes(max); //System.out.println("Number of primes : "+primes.size()); for (int i = 0; i < numbers.length; i++) { int count = getPrimesCountBefore(primes, numbers[i]); if (count % 2 == 0) System.out.println("Bob"); else System.out.println("Alice"); } } }