#include #define db double #define reg register #define LL long long #define pb push_back #define lb lower_bound #define ub upper_bound #define ull unsigned long long #define rep(i,a,b) for(int i=a,i##end=b;i<=i##end;++i) #define drep(i,a,b) for(int i=a,i##end=b;i>=i##end;--i) #define erep(i,a) for(int i=head[a];i;i=e[i].nxt) using namespace std; bool Handsome; inline int rd(){ reg int x=0;reg char o=getchar();reg bool O=0; for(;o<48 || 57y && (x=y));} inline void Mx(int &x,int y){if(x q; void init(){ memset(f,-1,sizeof(f)); rep(a,1,9)rep(b,1,9)rep(c,1,9)rep(d,1,9) s[a][b][c][d][0]=s[a][b][c][d][1]=6; rep(a,1,9)rep(b,1,9)rep(c,1,9){ q.push((node){0,a,b,c,1});f[0][a][b][c][1]=0; q.push((node){a,0,b,c,1});f[a][0][b][c][1]=0; q.push((node){a,b,0,c,0});f[a][b][0][c][0]=0; q.push((node){a,b,c,0,0});f[a][b][c][0][0]=0; } while(!q.empty()){ tmp=q.front();q.pop(); int a=tmp.a,b=tmp.b,c=tmp.c,d=tmp.d,e=tmp.e; int x,z=f[a][b][c][d][e]; if(e){ x=(a-b+10)%10; if(x && f[x][b][c][d][!e]==-1){ --s[x][b][c][d][!e]; if(!z)f[x][b][c][d][!e]=1,q.push((node){x,b,c,d,!e}); else if(!s[x][b][c][d][!e])f[x][b][c][d][!e]=0,q.push((node){x,b,c,d,!e}); } x=(a-c+10)%10; if(x && f[x][b][c][d][!e]==-1){ --s[x][b][c][d][!e]; if(!z)f[x][b][c][d][!e]=1,q.push((node){x,b,c,d,!e}); else if(!s[x][b][c][d][!e])f[x][b][c][d][!e]=0,q.push((node){x,b,c,d,!e}); } x=(a-d+10)%10; if(x && f[x][b][c][d][!e]==-1){ --s[x][b][c][d][!e]; if(!z)f[x][b][c][d][!e]=1,q.push((node){x,b,c,d,!e}); else if(!s[x][b][c][d][!e])f[x][b][c][d][!e]=0,q.push((node){x,b,c,d,!e}); } x=(b-a+10)%10; if(x && f[a][x][c][d][!e]==-1){ --s[a][x][c][d][!e]; if(!z)f[a][x][c][d][!e]=1,q.push((node){a,x,c,d,!e}); else if(!s[a][x][c][d][!e])f[a][x][c][d][!e]=0,q.push((node){a,x,c,d,!e}); } x=(b-c+10)%10; if(x && f[a][x][c][d][!e]==-1){ --s[a][x][c][d][!e]; if(!z)f[a][x][c][d][!e]=1,q.push((node){a,x,c,d,!e}); else if(!s[a][x][c][d][!e])f[a][x][c][d][!e]=0,q.push((node){a,x,c,d,!e}); } x=(b-d+10)%10; if(x && f[a][x][c][d][!e]==-1){ --s[a][x][c][d][!e]; if(!z)f[a][x][c][d][!e]=1,q.push((node){a,x,c,d,!e}); else if(!s[a][x][c][d][!e])f[a][x][c][d][!e]=0,q.push((node){a,x,c,d,!e}); } } else{ x=(c-a+10)%10; if(x && f[a][b][x][d][!e]==-1){ --s[a][b][x][d][!e]; if(!z)f[a][b][x][d][!e]=1,q.push((node){a,b,x,d,!e}); else if(!s[a][b][x][d][!e])f[a][b][x][d][!e]=0,q.push((node){a,b,x,d,!e}); } x=(c-b+10)%10; if(x && f[a][b][x][d][!e]==-1){ --s[a][b][x][d][!e]; if(!z)f[a][b][x][d][!e]=1,q.push((node){a,b,x,d,!e}); else if(!s[a][b][x][d][!e])f[a][b][x][d][!e]=0,q.push((node){a,b,x,d,!e}); } x=(c-d+10)%10; if(x && f[a][b][x][d][!e]==-1){ --s[a][b][x][d][!e]; if(!z)f[a][b][x][d][!e]=1,q.push((node){a,b,x,d,!e}); else if(!s[a][b][x][d][!e])f[a][b][x][d][!e]=0,q.push((node){a,b,x,d,!e}); } x=(d-a+10)%10; if(x && f[a][b][c][x][!e]==-1){ --s[a][b][c][x][!e]; if(!z)f[a][b][c][x][!e]=1,q.push((node){a,b,c,x,!e}); else if(!s[a][b][c][x][!e])f[a][b][c][x][!e]=0,q.push((node){a,b,c,x,!e}); } x=(d-b+10)%10; if(x && f[a][b][c][x][!e]==-1){ --s[a][b][c][x][!e]; if(!z)f[a][b][c][x][!e]=1,q.push((node){a,b,c,x,!e}); else if(!s[a][b][c][x][!e])f[a][b][c][x][!e]=0,q.push((node){a,b,c,x,!e}); } x=(d-c+10)%10; if(x && f[a][b][c][x][!e]==-1){ --s[a][b][c][x][!e]; if(!z)f[a][b][c][x][!e]=1,q.push((node){a,b,c,x,!e}); else if(!s[a][b][c][x][!e])f[a][b][c][x][!e]=0,q.push((node){a,b,c,x,!e}); } } } } bool Most; int main(){ // printf("%.2lfMB\n",(&Most-&Handsome)/1024.0/1024.0); init(); int t=rd(); while(t--){ int a=rd(),b=rd(),c=rd(),d=rd(); if(f[a][b][c][d][0]==-1)puts("Tie"); else puts(f[a][b][c][d][0]?"Alice":"Bob"); } return 0; }