#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 printArr(int* arr, int size) { for (int i = 0; i < size; i++) cout << arr[i] << " "; cout << endl; } bool isPrime(int n) { for (int i = 1; i < n; i++) for (int j = 1; j <= sqrt(n); j++) { if (i * j == n) return false; } return true; } int findSmallest(int* arr, int size) { int res = 0; for (int i = 0; i < size; i++) { res = arr[i]; } return res; } int findIdx(int n, int* arr, int size) { int i = 0; while ( (arr[i] != n) && (i < size) ) i++; return i; } int main(){ int g; cin >> g; for(int a0 = 0; a0 < g; a0++){ int n; cin >> n; int arr[n] = {}; for (int i = 1; i < n; i++) if ( isPrime(i+1) ) arr[i] = (i+1); //----------------------THE GAME----------------------- int turnCount = 0; bool end = false; while(!end) { turnCount++; int smallestPrime = findSmallest(arr, n); // cout << "SP: " << smallestPrime << endl; if (smallestPrime != 0) { int smallestPrimeIdx = findIdx(smallestPrime, arr, n); // cout << "SPI: " << smallestPrimeIdx << endl; arr[smallestPrimeIdx] = 0; } else { end = true; } } // cout << turnCount << endl; if (turnCount % 2 == 1) cout << "Bob" << endl; else cout << "Alice" << endl; // printArr(arr, n); } return 0; }