#include #include #include #include #include #include #include typedef long long ll; typedef unsigned un; typedef std::vector P; typedef std::pair pii; ll read(){ll x=0,f=1;char c=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9')x=x*10+(c-'0'),c=getchar();return f*x;} ll max(ll a,ll b){return a>b?a:b;} ll min(ll a,ll b){return a bool umax(T& a,T t){if(t>a)return a=t,1;return 0;} template bool umin(T& a,T t){if(tg[MAXN],Rg[MAXN]; int get(int x1,int y1,int x2,int y2){return x1*1000+y1*100+x2*10+y2;} void Add(int u,int v){++out[u], g[u].push_back(v),Rg[v].push_back(u);} int main() { int h=0,t=0; for(int x1=1;x1<=9;++x1) for(int y1=x1;y1<=9;++y1) for(int y2=0;y2<=9;++y2)f[get(x1,y1,0,y2)]=-1,Q[t++]=get(x1,y1,0,y2); for(int x1=1;x1<=9;++x1) for(int y1=x1;y1<=9;++y1) for(int x2=1;x2<=9;++x2) for(int y2=x2;y2<=9;++y2) { int cur=get(x1,y1,x2,y2); //change x int t=(x1+y1)%10; Add(cur,get(x2,y2,min(y1,t),max(y1,t))); t=(x1+x2)%10; Add(cur,get(x2,y2,min(y1,t),max(y1,t))); t=(x1+y2)%10; Add(cur,get(x2,y2,min(y1,t),max(y1,t))); t=(y1+x1)%10; Add(cur,get(x2,y2,min(x1,t),max(x1,t))); t=(y1+x2)%10; Add(cur,get(x2,y2,min(x1,t),max(x1,t))); t=(y1+y2)%10; Add(cur,get(x2,y2,min(x1,t),max(x1,t))); } while(hy1)std::swap(x1,y1); if(x2>y2)std::swap(x2,y2); int res=f[get(x1,y1,x2,y2)]; if(res==1)puts("Alice"); else if(res==-1)puts("Bob"); else puts("Tie"); } return 0; }