#include using std::cin; using std::cout; typedef long long ll; const int N = 15; int test; int res[N][N][N][N]; struct state { int x0, y0, x1, y1; }; int win[N][N][N][N]; std::vector from[N][N][N][N]; std::queue Q; int cc[N][N][N][N]; int main() { std::ios::sync_with_stdio(false), cin.tie(0); cin >> test; for(int x0 = 0;x0 <= 9;++x0) for(int x1 = 0;x1 <= 9;++x1) for(int y0 = 0;y0 <= 9;++y0) for(int y1 = 0;y1 <= 9;++y1) { if(!x0 + !x1 + !y0 + !y1 <= 1) { if(!x0 + !x1 + !y0 + !y1 == 1) { win[x0][y0][x1][y1] = !(!x0 || !y0); Q.push({x0, y0, x1, y1}); } else { from[(x0 + y0) % 10][y0][x1][y1].push_back((state){x1, y1, x0, y0}); from[(x0 + x1) % 10][y0][x1][y1].push_back((state){x1, y1, x0, y0}); from[(x0 + y1) % 10][y0][x1][y1].push_back((state){x1, y1, x0, y0}); from[x0][(y0 + x0) % 10][x1][y1].push_back((state){x1, y1, x0, y0}); from[x0][(y0 + x1) % 10][x1][y1].push_back((state){x1, y1, x0, y0}); from[x0][(y0 + y1) % 10][x1][y1].push_back((state){x1, y1, x0, y0}); win[x0][y0][x1][y1] = -1; } } else { } } int pc = 0; for(;Q.size();) { ++ pc; int a0, b0, a1, b1; a0 = Q.front().x0; a1 = Q.front().x1; b0 = Q.front().y0; b1 = Q.front().y1; Q.pop(); if(win[a0][b0][a1][b1] == -1) exit(1); for(state p : from[a0][b0][a1][b1]) { int x0, x1, y0, y1; x0 = p.x0; y0 = p.y0; x1 = p.x1; y1 = p.y1; if(!win[a0][b0][a1][b1] && cc[x0][y0][x1][y1] <= 12) { win[x0][y0][x1][y1] = 1; cc[x0][y0][x1][y1] = 15; Q.push(p); } if(++cc[x0][y0][x1][y1] == 6) { win[x0][y0][x1][y1] = 0; Q.push(p); } } } for(int i = 0, x0, x1, y0, y1;i < test;++i) { cin >> x0 >> y0 >> x1 >> y1; if(win[x1][y1][x0][y0] == -1) { cout << "Tie" << '\n'; continue; } cout << (win[x1][y1][x0][y0] ? "Alice" : "Bob") << '\n'; } }