#include <bits/stdc++.h>
using namespace std;
struct node {
  int f[9];
  void work() { sort(f + 1, f + 1 + 8); }
  int sol() {
    int ret = 0;
    for (int i = 1; i <= 8; i++) {
      ret = ret * 5 + f[i];
    }
    return ret;
  }
} a, b;
int T, opt, s[400005], c[400005], cnt, head[400005], to[400005 << 6],
    nxt[400005 << 6], tot, ans[400005], col[400005];
void dfs(int now, int lt, int nx) {
  if (now == 9) {
    s[++tot] = nx;
    c[nx] = tot;
    return;
  }
  for (int i = lt; i <= 4; i++) {
    dfs(now + 1, i, nx * 5 + i);
  }
}
node rh(int x) {
  node ret;
  for (int i = 1; i <= 8; i++) {
    ret.f[i] = x % 5;
    x /= 5;
  }
  return ret;
}
int tn(int x, int y) { return (x - 1) * tot + y - 1; }
void add(int x, int y) {
  to[++cnt] = y, nxt[cnt] = head[x], head[x] = cnt, col[y]++;
}
void init() {
  dfs(1, 0, 0);
  for (int i = 1; i <= tot; i++) {
    for (int j = 1; j <= tot; j++) {
      node xi = rh(s[i]), yi = rh(s[j]);
      for (int k = 1; k <= 8; k++) {
        if (xi.f[k]) {
          for (int h = 1; h <= 8; h++) {
            if (yi.f[h]) {
              node tmp = xi;
              tmp.f[k] = (xi.f[k] + yi.f[h]) % 5;
              tmp.work();
              int nt = c[tmp.sol()];
              add(tn(j, nt), tn(i, j));
            }
          }
        }
      }
    }
  }
  queue<int> q;
  for (int i = 2; i <= tot; i++) {
    ans[tn(i, 1)] = 1;
    q.push(tn(i, 1));
  }
  while (!q.empty()) {
    int now = q.front();
    q.pop();
    for (int i = head[now]; i; i = nxt[i]) {
      int y = to[i];
      if (!ans[y]) {
        if (ans[now] == 1) {
          q.push(y);
          ans[y] = -1;
        } else if (--col[y] == 0) {
          q.push(y);
          ans[y] = 1;
        }
      }
    }
  }
}
int main() {
  init();
  scanf("%d", &T);
  while (T--) {
    scanf("%d", &opt);
    for (int i = 1; i <= 8; i++) {
      scanf("%d", &a.f[i]);
    }
    for (int i = 1; i <= 8; i++) {
      scanf("%d", &b.f[i]);
    }
    a.work();
    b.work();
    if (opt) {
      swap(a, b);
    }
    int rst = ans[tn(c[a.sol()], c[b.sol()])];
    if (!rst) {
      puts("Deal");
    } else if ((rst == 1 && opt) || (rst == -1 && !opt)) {
      puts("Alice");
    } else {
      puts("Bob");
    }
  }
  return 0;
}
