#include using namespace std; #define FOR(i,n) for(int i=0;i<(int)n;i++) #define FOB(i,n) for(int i=n;i>=1;i--) #define MP(x,y) make_pair((x),(y)) #define ii pair #define lli long long int #define ulli unsigned long long int #define lili pair #ifdef EBUG #define DBG if(1) #else #define DBG if(0) #endif #define SIZE(x) int(x.size()) const int infinity = 2000000999 / 2; const long long int inff = 4000000000000000999; typedef complex point; template T get() { T a; cin >> a; return a; } template ostream& operator<<(ostream& out, const pair &par) { out << "[" << par.first << ";" << par.second << "]"; return out; } template ostream& operator<<(ostream& out, const set &cont){ out << "{"; for (const auto &x:cont) out << x << ", "; out << "}"; return out; } template ostream& operator<<(ostream& out, const map &cont){ out << "{"; for (const auto &x:cont) out << x << ", "; out << "}"; return out; } template ostream& operator<<(ostream& out, const vector& v) { FOR(i, v.size()){ if(i) out << " "; out << v[i]; } out << endl; return out; } bool ccw(point p, point a, point b){ if((conj(a - p) * (b - p)).imag() <= 0) return(0); else return(1); } int main(){ cin.sync_with_stdio(false); cout.sync_with_stdio(false); vector kolko; vector sito(170000, 1); sito[0] = 0; sito[1] = 0; FOR(i, SIZE(sito)){ kolko.push_back((kolko.size() ? kolko.back() : 0)); if(!sito[i]) continue; kolko[kolko.size() - 1] ++; for(int j = i * 2; j < SIZE(sito); j += i){ sito[j] = 0; } } FOR(i, 10) DBG cout << kolko[i] << endl; int g = get(); FOR(i, g) cout << (kolko[get()] % 2 ? "Alice" : "Bob") << endl; }