#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; void SieveOfEratosthenes(int n,vector &prime) { for (long long p=2; p*p<=n; p++) { if (prime[p] == true) { for (int i=p*2; i<=n; i += p) prime[i] = false; } } } void call(vector &pre_compute,vector &prime) { long long count=0; for(long long i=1;i<=1000000;i++) { if(prime[i]) { count++; pre_compute[i]=count; }else{ pre_compute[i]=count; } } // for(long long i=1;i<=1000000;i++) // cout<< pre_compute[i]<<" "; } int main(){ int g; cin >> g; vector pre_compute(1000001,0); vector prime(1000001,1); SieveOfEratosthenes(1000001,prime); prime[0] = 0; prime[1] = 0; prime[4] = 0; call(pre_compute,prime); for(int a0 = 0; a0 < g; a0++){ int n; cin >> n; if(pre_compute[n]%2==0) cout<<"Bob\n"; else cout<<"Alice\n"; } return 0; }