process.stdin.resume(); process.stdin.setEncoding('ascii'); var input_stdin = ""; var input_stdin_array = ""; var input_currentline = 0; process.stdin.on('data', function (data) { input_stdin += data; }); process.stdin.on('end', function () { input_stdin_array = input_stdin.split("\n"); main(); }); function readLine() { return input_stdin_array[input_currentline++]; } /////////////// ignore above this line //////////////////// function main() { var g = parseInt(readLine()); var maxn = 0; var tab = []; var pt = [0, 0]; for(var a0 = 0; a0 < g; a0++){ var n = parseInt(readLine()); maxn = Math.max(maxn, n); tab.push(n); } //console.log(maxn); var primes=0; var isprime = true; for (var i = 2; i <= maxn; i++) { //console.log("Before doing i = " + i + " tab = " + pt); // For now, we believe that it is a prime isprime = true; var limit = Math.round(Math.sqrt(i)); // See comment from @AresAvatar, below // We try to find a number between 2 and limit that gives us a reminder of 0 for (var mod = 2; mod <= limit; mod++) { // If we find one, we know it's not a prime if (i % mod == 0) { isprime = false; break; // Break out of the inner for loop } } if (isprime) { primes = primes + 1; pt.push(primes); } else pt.push(primes); } for(a0 = 0; a0 < g; a0++){ if(pt[tab[a0]] % 2 == 1) console.log("Alice"); else console.log("Bob"); } }