#include <bits/stdc++.h>
using namespace std;
int f[555][555], deg[555][555], tot, rel[555];
unordered_map<int, int> mp;
struct P {
  int x, y;
} u, v;
queue<P> q;
void pre() {
  for (int i = 0; i <= 8; ++i)
    for (int ii = 0; i + ii <= 8; ++ii)
      for (int iii = 0; i + ii + iii <= 8; ++iii)
        for (int iv = 0; i + ii + iii + iv <= 8; ++iv) {
          int id = i * 1 + ii * 10 + iii * 100 + iv * 1000;
          rel[tot] = id;
          mp[id] = tot++;
        }
  for (int i = 0; i <= 8; ++i)
    for (int ii = 0; i + ii <= 8; ++ii)
      for (int iii = 0; i + ii + iii <= 8; ++iii)
        for (int iv = 0; i + ii + iii + iv <= 8; ++iv) {
          int now = mp[i * 1 + ii * 10 + iii * 100 + iv * 1000];
          if (!now) continue;
          f[now][0] = -1;
          q.push((P){now, 0});
          for (int j = 0; j <= 8; ++j)
            for (int jj = 0; j + jj <= 8; ++jj)
              for (int jjj = 0; j + jj + jjj <= 8; ++jjj)
                for (int jv = 0; j + jj + jjj + jv <= 8; ++jv) {
                  int el = mp[j * 1 + jj * 10 + jjj * 100 + jv * 1000];
                  if (!el) continue;
                  deg[now][el] =
                      (!!i + !!ii + !!iii + !!iv) * (!!j + !!jj + !!jjj + !!jv);
                }
        }
  for (; !q.empty();) {
    u = q.front();
    q.pop();
    static int a[5], b[5], x, y;
    x = rel[u.x];
    y = rel[u.y];
    for (int i = 1; i <= 4; ++i) a[i] = y % 10, y /= 10;
    a[0] = 8 - a[1] - a[2] - a[3] - a[4];
    for (int i = 1; i <= 4; ++i) b[i] = x % 10, x /= 10;
    b[0] = 8 - b[1] - b[2] - b[3] - b[4];
    for (int i = 0; i <= 4; ++i)
      for (int j = 1; j <= 4; ++j)
        if (a[i] && b[j] && i != j) {
          --a[i];
          ++a[(i - j + 555) % 5];
          x = mp[a[1] * 1 + a[2] * 10 + a[3] * 100 + a[4] * 1000];
          y = mp[b[1] * 1 + b[2] * 10 + b[3] * 100 + b[4] * 1000];
          if (f[u.x][u.y] == 1) {
            if (!--deg[x][y]) {
              f[x][y] = -1;
              q.push((P){x, y});
            }
          } else {
            if (!f[x][y]) f[x][y] = 1, q.push((P){x, y});
          }
          ++a[i];
          --a[(i - j + 555) % 5];
        }
  }
}
int in() {
  static int cnt[5], x;
  memset(cnt, 0, sizeof cnt);
  for (int i = 8; i--;) scanf("%d", &x), ++cnt[x];
  return mp[cnt[1] * 1 + cnt[2] * 10 + cnt[3] * 100 + cnt[4] * 1000];
}
int main() {
  pre();
  int T, x, y, t, fir, res;
  for (scanf("%d", &T); T--;) {
    scanf("%d", &fir);
    x = in();
    y = in();
    res = fir ? -f[y][x] : f[x][y];
    switch (res) {
      case 1:
        puts("Alice");
        break;
      case 0:
        puts("Deal");
        break;
      case -1:
        puts("Bob");
        break;
    }
  }
}
