#include using namespace std; #define ll long long #define rep(i,n) for(ll i=0; i<(ll)(n); i++) #define repi(i,a,b) for(ll i=(ll)(a); i<(ll)(b); i++) #define all(v) (v).begin(),(v).end() #define arr(v) (v).rbegin(),(v).rend() using vi=vector; using vvi=vector; using vll=vector; using vvll=vector; using P=pair; using vp=vector

; using vvp=vector; const ll inf=2e18; template bool chmin(T& a,const S&b){ return a>b? a=b,1:0; } template bool chmax(T& a,const S&b){ return a= mod) x -= mod; return *this; } mint& operator-=(mint r) { if((x -= r.x) < 0) x += mod; return *this; } mint& operator*=(mint r) { x = 1LL * x * r.x % mod; return *this; } mint& operator/=(mint r) { return *this *= r.inv(); } friend mint operator+(mint a, mint b) { return a += b; } friend mint operator-(mint a, mint b) { return a -= b; } friend mint operator*(mint a, mint b) { return a *= b; } friend mint operator/(mint a, mint b) { return a /= b; } mint inv() const { return pow(mod - 2); } mint pow(ll b) const { mint a = *this, c = 1; while(b) { if(b & 1) c *= a; a *= a; b >>= 1; } return c; } }; using vm = vector; using vvm = vector; constexpr int MAX = 500050; ll fact[MAX], finv[MAX], invv[MAX]; void initcomb() { fact[0] = fact[1] = 1; finv[0] = finv[1] = 1; invv[1] = 1; for(int i = 2; i < MAX; i++) { fact[i] = fact[i - 1] * i % mod; invv[i] = mod - invv[mod % i] * (mod / i) % mod; finv[i] = finv[i - 1] * invv[i] % mod; } } ll comb(ll n, ll k) { if(n < k) return 0; if(n < 0 || k < 0) return 0; return fact[n] * (finv[k] * finv[n - k] % mod) % mod; } /* int main() { string s = "187821878218782187821878218782"; __int128 x = parse(s); x *= 2; cout << x << endl; } */ ll gcdll(ll x, ll y) { if(y == 0) return x; return gcdll(y, x % y); } map dp; map seen; void solve(int test){ /* auto dfs=[&](auto dfs,vi vs)->void { if(seen[vs]){ return; } seen[vs]=1; if(vs.size()==0){ dp[vs]=0; return; } rep(i,vs.size()){ vi us=vs; us[i]--; if(us[i]==0){ int d=vs.size()-1-(i-1); rep(_,d)us.pop_back(); } dfs(dfs,us); if(dp[us]==0)dp[vs]=1; } }; for(int i=1; i<=5; i+=2){ dfs(dfs,{i}); for(int j=1; j<=5; j+=2){ dfs(dfs,{i,j}); for(int k=1; k<=5; k+=2){ dfs(dfs,{i,j,k}); for(int l=1; l<=5; l+=2){ dfs(dfs,{i,j,k,l}); for(int m=1; m<=5; m+=2){ dfs(dfs,{i,j,k,l,m}); } } } } } for(auto u:dp)if(u.second==1){ int sum=0; int is=1; for(auto v:u.first)if(v%2==0)is=0; for(auto v:u.first)sum+=v; if(is){ cout<< sum%2 << endl; for(auto v:u.first)cout << v << " "; cout<< endl; if(sum%2==0){ int iss=0; int now=0; rep(i,u.first.size()){ if(u.first[i]==1 && now%2==0)iss=1; now+=u.first[i]; } assert(iss); } } } for(auto u:dp)if(u.second==0){ int sum=0; int is=1; for(auto v:u.first)if(v%2==0)is=0; for(auto v:u.first)sum+=v; if(is){ assert(sum%2==0); cout<< sum%2 << endl; for(auto v:u.first)cout << v << " "; cout<< endl; } } */ int n; cin >> n; vll a(n); rep(i,n)cin >> a[i]; int is=0; ll sum=0; rep(i,n){ if(a[i]==1 && sum%2==0){ is=1; } sum+=a[i]; } if(sum%2)is=1; if(is){ cout << "Alice" << endl; } else { cout << "Bob" << endl; } } int main(){ cin.tie(0); ios::sync_with_stdio(false); int t=1; cin >> t; rep(test,t)solve(test); }