#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define fill(v,val) fill((v).begin(), (v).end(), (val)) #define fillt(tab, n, val) fill((t), (t) + (n) ,(val)) #define MAX 100005 #define INF 9999999 #define in(a,b) ( (b).find(a) != (b).end()) #define clr(a,b) memset((a), (b), sizeof((a))) #define pb push_back #define all(a) a.begin(), a.end() #define mp make_pair /** * * @Author Lahia omar */ using namespace std; vector prime(MAX, true); void init() { for (int p = 2; p*p <= MAX - 1; p++) { if (prime[p] == true) { for (int i = p * 2; i <= MAX - 1; i += p) prime[i] = false; } } } long long solve() { return 0; } int main(int argc, char* argv[]) { init(); int n, s; cin >> n; for (int i = 0; i < n; i++) { cin >> s; if (s == 1) cout << "Bob" << endl; else { int count = 0; for (int i = 2; i <= s; i++) { if (prime[i]) count++; } if (count % 2 != 0) cout << "Alice" << endl; else cout << "Bob" << endl; } } getchar(); getchar(); return 0; }