object Solution { def main(args: Array[String]): Unit = { val sc = new java.util.Scanner(System.in) val numTests = sc.nextInt() val tests = new Array[Int](numTests) tests.indices.foreach(i => tests(i) = sc.nextInt()) val primesLessThanOrEqualto = new Array[Int](100001) for (i <- 2 to 100000) { if (Primes.isPrime(i)) { primesLessThanOrEqualto(i) = primesLessThanOrEqualto(i-1) + 1 } else { primesLessThanOrEqualto(i) = primesLessThanOrEqualto(i-1) } } def solve(n : Int) : String = { val primesToN = primesLessThanOrEqualto(n) if (primesToN % 2 == 0) {"Bob"} else {"Alice"} } for (test <- tests) println(solve(test)) } object Primes { def isPrime(n: Int): Boolean = divisorPrimes.takeWhile(Math.pow(_, 2) <= n).forall(n % _ != 0) val divisorPrimes: Stream[Int] = 2 #:: Stream.from(3).map(_.toInt).filter(isPrime(_)) } }