#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
vector<int> g[N];
int t, n, a, b, da, db, d[N];
void go(int u, int pr = -1, int far = 0) {
  d[u] = far;
  for (int v : g[u])
    if (v ^ pr) go(v, u, far + 1);
}
int main() {
  cin >> t;
  while (t--) {
    scanf("%d %d %d %d %d", &n, &a, &b, &da, &db);
    for (int i = 1; i <= n; ++i) {
      g[i].clear();
    }
    for (int i = 1, u, v; i < n; ++i) {
      scanf("%d %d", &u, &v);
      g[u].emplace_back(v), g[v].emplace_back(u);
    }
    go(a);
    if (d[b] <= da) {
      puts("Alice");
      continue;
    }
    if (db <= da + da) {
      puts("Alice");
      continue;
    }
    int at = 1;
    for (int i = 1; i <= n; ++i) {
      if (d[i] > d[at]) at = i;
    }
    go(at);
    int oth = 1;
    for (int i = 1; i <= n; ++i) {
      if (d[i] > d[oth]) oth = i;
    }
    if (d[oth] <= da + da) {
      puts("Alice");
      continue;
    }
    puts("Bob");
  }
  return 0;
}
