#include using namespace std; typedef long long ll; typedef vector vi; typedef pair< int ,int > pii; typedef istringstream iss; typedef ostringstream oss; #define pb push_back #define mp make_pair #define f first #define s second #define sz size() #define ln length() #define rep(i,n) for(int i=0;i=a;i--) #define all(a) a.begin(),a.end() #define ESP (1e-9) #define gi(n) scanf("%d",&n) #define gl(n) cin >> n #define pi(n) printf("%d",n) #define pl(n) cout << n #define ps printf(" ") #define pn printf("\n") #define dg(n,s); printf("%s %d",s,n) #define imax numeric_limits::max() #define imin numeric_limits::min() #define lmax numeric_limits::max() #define lmin numeric_limits::min() const int md = 1e6 ; vector < int > v ; bool vis[md + 1000] ; map < int , int > m1 ; int main () { int n ,t,x ; for (int i = 2 ; i * i <= md ; i++){ if (vis[i] ) continue ; for (int j = 2*i ; j <= md ; j += i ) vis[j] = 1 ; } int c= 0 ; fu (i , 2 , md ){ if (!vis[i]) v.pb(i) , m1[i] = ++c; } cin >> t ; while(t--){ cin >> x ; int num ; vector < int > :: iterator it = lower_bound( v.begin() , v.end() , x + 1 ) ; if (it == v.begin() ){ puts("Bob") ; continue ; } it-- ; num = m1[*it] ; // cout << num << endl; if (num % 2 ) puts("Alice") ; else puts("Bob") ; } return 0 ; }