#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
if (!(cin >> T)) return 0;
while (T--) {
int N;
cin >> N;
vector<int> A(N);
for (int i = 0; i < N; ++i) cin >> A[i];
// cnt[b] : number of elements whose MSB is b (0-based)
const int MAXB = 31; // Ai <= 1e9 < 2^30, but keep 31 for safety
vector<int> cnt(MAXB+1, 0);
for (int x : A) {
int b = 0;
// find msb position (0-based)
for (int i = MAXB; i >= 0; --i) {
if (x & (1 << i)) {
b = i;
break;
}
}
cnt[b]++;
}
// find highest bit B with cnt[B] > 0
int B = -1;
for (int i = MAXB; i >= 0; --i) {
if (cnt[i] > 0) {
B = i;
break;
}
}
// safety
if (B == -1) {
// all zero? but constraints Ai >= 1 so shouldn't happen
cout << "Bob\n";
continue;
}
int k = cnt[B];
if (k % 2 == 0) {
cout << "Bob\n";
} else {
// k is odd
if (k % 4 == 1) {
cout << "Alice\n";
} else { // k % 4 == 3
int rest = N - k;
if (rest % 2 == 1) cout << "Alice\n";
else cout << "Bob\n";
}
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CiAgICAKICAgIGludCBUOwogICAgaWYgKCEoY2luID4+IFQpKSByZXR1cm4gMDsKICAgIHdoaWxlIChULS0pIHsKICAgICAgICBpbnQgTjsKICAgICAgICBjaW4gPj4gTjsKICAgICAgICB2ZWN0b3I8aW50PiBBKE4pOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgKytpKSBjaW4gPj4gQVtpXTsKICAgICAgICAKICAgICAgICAvLyBjbnRbYl0gOiBudW1iZXIgb2YgZWxlbWVudHMgd2hvc2UgTVNCIGlzIGIgKDAtYmFzZWQpCiAgICAgICAgY29uc3QgaW50IE1BWEIgPSAzMTsgLy8gQWkgPD0gMWU5IDwgMl4zMCwgYnV0IGtlZXAgMzEgZm9yIHNhZmV0eQogICAgICAgIHZlY3RvcjxpbnQ+IGNudChNQVhCKzEsIDApOwogICAgICAgIGZvciAoaW50IHggOiBBKSB7CiAgICAgICAgICAgIGludCBiID0gMDsKICAgICAgICAgICAgLy8gZmluZCBtc2IgcG9zaXRpb24gKDAtYmFzZWQpCiAgICAgICAgICAgIGZvciAoaW50IGkgPSBNQVhCOyBpID49IDA7IC0taSkgewogICAgICAgICAgICAgICAgaWYgKHggJiAoMSA8PCBpKSkgewogICAgICAgICAgICAgICAgICAgIGIgPSBpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGNudFtiXSsrOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBmaW5kIGhpZ2hlc3QgYml0IEIgd2l0aCBjbnRbQl0gPiAwCiAgICAgICAgaW50IEIgPSAtMTsKICAgICAgICBmb3IgKGludCBpID0gTUFYQjsgaSA+PSAwOyAtLWkpIHsKICAgICAgICAgICAgaWYgKGNudFtpXSA+IDApIHsKICAgICAgICAgICAgICAgIEIgPSBpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8gc2FmZXR5CiAgICAgICAgaWYgKEIgPT0gLTEpIHsKICAgICAgICAgICAgLy8gYWxsIHplcm8/IGJ1dCBjb25zdHJhaW50cyBBaSA+PSAxIHNvIHNob3VsZG4ndCBoYXBwZW4KICAgICAgICAgICAgY291dCA8PCAiQm9iXG4iOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaW50IGsgPSBjbnRbQl07CiAgICAgICAgaWYgKGsgJSAyID09IDApIHsKICAgICAgICAgICAgY291dCA8PCAiQm9iXG4iOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIGsgaXMgb2RkCiAgICAgICAgICAgIGlmIChrICUgNCA9PSAxKSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8ICJBbGljZVxuIjsKICAgICAgICAgICAgfSBlbHNlIHsgLy8gayAlIDQgPT0gMwogICAgICAgICAgICAgICAgaW50IHJlc3QgPSBOIC0gazsKICAgICAgICAgICAgICAgIGlmIChyZXN0ICUgMiA9PSAxKSBjb3V0IDw8ICJBbGljZVxuIjsKICAgICAgICAgICAgICAgIGVsc2UgY291dCA8PCAiQm9iXG4iOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0=