#include <bits/stdc++.h>
#pragma GCC optimize(2)
using namespace std;
const int inf = 1e9;
const int NINF = 0xc0c0c0c0;
const int maxn = 1e5 + 7;
const int bas = maxn / 2;
const int Maxn = 1e7 + 7;
const double eps = 1e-6;
const int mod = (1 << 31) - 1;
template <typename T>
void read(T &x) {
  x = 0;
  char c = getchar();
  T flag = 1;
  while (c < '0' || c > '9') {
    if (c == '-') flag = -1;
    c = getchar();
  }
  while (c >= '0' && c <= '9') {
    x = x * 10 + c - '0';
    c = getchar();
  }
  x = x * flag;
}
struct edge {
  int v, next;
} e[maxn << 1];
int head[maxn], cnt;
void add(int a, int b) {
  e[++cnt] = edge{b, head[a]};
  head[a] = cnt;
}
int f[maxn][21], dep[maxn], tot, dp[maxn], treez = 0, root;
void dfs(int u, int fa) {
  dep[u] = dep[fa] + 1;
  f[u][0] = fa;
  for (int i = 1; i <= 20; i++) {
    f[u][i] = f[f[u][i - 1]][i - 1];
  }
  for (int i = head[u]; i; i = e[i].next) {
    int v = e[i].v;
    if (v == fa) continue;
    dfs(v, u);
    treez = max(treez, dp[u] + dp[v] + 1);
    dp[u] = max(dp[u], dp[v] + 1);
  }
}
int getlca(int a, int b) {
  if (dep[a] < dep[b]) swap(a, b);
  for (int i = 20; ~i; i--) {
    int x = f[a][i];
    if (dep[x] >= dep[b]) a = x;
  }
  if (a == b) return a;
  for (int i = 20; ~i; i--) {
    if (f[a][i] != f[b][i]) {
      a = f[a][i];
      b = f[b][i];
    }
  }
  return f[a][0];
}
int k;
int work(int a, int lca) {
  for (int i = 20; ~i; i--) {
    if ((1 << i) <= k && dep[f[a][i]] >= dep[lca]) {
      a = f[a][i];
      k -= (1 << i);
    }
  }
  return a;
}
void solve() {
  int n, a, b, da, db;
  cin >> n >> a >> b >> da >> db;
  for (int i = 1; i <= n; i++) head[i] = 0, dp[i] = 0, dep[i] = 0;
  cnt = 0;
  treez = 0;
  for (int i = 1; i < n; i++) {
    int u, v;
    cin >> u >> v;
    add(u, v);
    add(v, u);
  }
  if (da * 2 >= db) {
    puts("Alice");
    return;
  }
  dfs(1, 0);
  int lca = getlca(a, b);
  if (treez <= da * 2) {
    puts("Alice");
    return;
  }
  if (dep[a] + dep[b] - dep[lca] * 2 <= da) {
    puts("Alice");
    return;
  }
  puts("Bob");
}
signed main() {
  int T = 1;
  scanf("%d", &T);
  while (T--) solve();
}
