#include <bits/stdc++.h>
using namespace std;
const int N = 505, M = 6e5;
vector<vector<int>> states;
vector<int> dummy(5);
bool vis[N][N];
bool win[N][N];
vector<int> G[N][N];
int id[M];
int tot_win[N][N];
void recur(int var, int sum, int mask) {
  if (var == 5) {
    if (sum == 8) {
      id[mask] = states.size();
      states.push_back(dummy);
    }
    return;
  }
  for (int x = 0; x + sum <= 8; x++) {
    dummy[var] += x;
    recur(var + 1, sum + x, mask * 9 + x);
    dummy[var] -= x;
  }
}
int IDX(vector<int> &cards) {
  int mask = 0;
  for (int x : cards) {
    mask = mask * 9 + x;
  }
  return id[mask];
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  recur(0, 0, 0);
  int sz = states.size();
  for (int x = 0; x < sz; x++) {
    for (int y = 0; y < sz; y++) {
      vector<int> cards1 = states[x], cards2 = states[y];
      set<int> zs;
      for (int i = 1; i < 5; i++) {
        if (cards1[i] == 0) continue;
        for (int j = 1; j < 5; j++) {
          if (cards2[j] == 0) continue;
          cards1[i]--;
          cards1[(i + j) % 5]++;
          int z = IDX(cards1);
          zs.insert(z);
          cards1[i]++;
          cards1[(i + j) % 5]--;
        }
      }
      for (int z : zs) {
        G[y][z].push_back(x);
      }
      tot_win[x][y] = (int)zs.size();
    }
  }
  queue<int> que;
  for (int x = 0; x + 1 < sz; x++) {
    vis[x][sz - 1] = true;
    win[x][sz - 1] = false;
    que.push(x);
    que.push(sz - 1);
  }
  while (que.size() > 0) {
    int y = que.front();
    que.pop();
    int z = que.front();
    que.pop();
    if (win[y][z]) {
      for (int x : G[y][z]) {
        if (vis[x][y]) continue;
        tot_win[x][y]--;
        if (tot_win[x][y] == 0) {
          vis[x][y] = true;
          win[x][y] = false;
          que.push(x);
          que.push(y);
        }
      }
    } else {
      for (int x : G[y][z]) {
        if (vis[x][y]) continue;
        vis[x][y] = true;
        win[x][y] = true;
        que.push(x);
        que.push(y);
      }
    }
  }
  int q;
  cin >> q;
  while (q--) {
    int f;
    cin >> f;
    vector<int> a(5), b(5);
    for (int i = 0; i < 8; i++) {
      int x;
      cin >> x;
      a[x]++;
    }
    for (int i = 0; i < 8; i++) {
      int x;
      cin >> x;
      b[x]++;
    }
    int sta = IDX(a), stb = IDX(b);
    if (f == 0) {
      if (!vis[sta][stb])
        cout << "Deal"
             << "\n";
      else if (win[sta][stb])
        cout << "Alice"
             << "\n";
      else
        cout << "Bob"
             << "\n";
    } else {
      if (!vis[stb][sta])
        cout << "Deal"
             << "\n";
      else if (win[stb][sta])
        cout << "Bob"
             << "\n";
      else
        cout << "Alice"
             << "\n";
    }
  }
  return 0;
}
