#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { int g; cin >> g; for (int a0 = 0; a0 < g; a0++) { int n; cin >> n; // your code goes here vector nums(n + 1, true); size_t last_prime = 1; bool alice_wins = false; while (true) { bool stop = true; // Find first prime number bigger than last prime, which will obviously have maximum multiples for (size_t index = last_prime + 1; index < nums.size(); ++index) { if (nums[index]) { stop = false; last_prime = index; break; } } if (stop) break; // Set all the multiples of current prime false for (size_t index = last_prime; index < nums.size(); index += last_prime) { nums[index] = false; } alice_wins = !alice_wins; } cout << (alice_wins ? "Alice" : "Bob") << '\n'; } return 0; }