/** * code generated by JHelper * More info: https://github.com/AlexeyDmitriev/JHelper * @author */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define check(e) \ ((void) ((e) ? ((void)0) : __check(#e, __FILE__, __LINE__))) void __check(const char* expr, const char* file, unsigned int line) { // while (true) {} printf("%s:%u: failed check `%s'\n", file, line, expr); abort(); } #define forn(i, n) for (int i = 0; i < (int)(n); ++i) #define ford(i, n) for (int i = (int)(n) - 1; i >= 0; --i) #define pb push_back #define mp make_pair #define X first #define Y second #define I first #define J second typedef long long ll; typedef std::vector vi; typedef std::vector vvi; typedef std::vector vb; typedef std::vector vvb; typedef std::vector vc; typedef std::vector vvc; typedef std::vector vl; typedef std::vector vvl; typedef std::pair pi; typedef std::vector vp; typedef std::vector vvp; using namespace std; const int N = 100010; class taskB { public: void solve(std::istream& in, std::ostream& out) { vi is_prime(N, true); is_prime[0] = is_prime[1] = false; for (int i = 2; i * i < N; ++i) { if (is_prime[i]) { for (int j = i * i; j < N; j += i) { is_prime[j] = false; } } } vi s(N, 0); for (int i = 1; i < N; ++i) { s[i] = s[i - 1] + (is_prime[i] ? 1 : 0); } int t; in >> t; forn(ti, t) { int n; in >> n; out << (s[n] % 2 == 0 ? "Bob" : "Alice") << endl; } } }; int main() { ios_base::sync_with_stdio(false); taskB solver; std::istream& in(std::cin); std::ostream& out(std::cout); solver.solve(in, out); return 0; }