#include <bits/stdc++.h>
using namespace std;
const int MaxN = 100005;
int test, n, a, b, da, db;
vector<int> Adj[MaxN];
int depth[MaxN], dis;
int DFS(int u, int p) {
  int Len = 0;
  for (auto v : Adj[u]) {
    if (v != p) {
      depth[v] = depth[u] + 1;
      int tmp = DFS(v, u) + 1;
      dis = max(dis, tmp + Len);
      Len = max(Len, tmp);
    }
  }
  return Len;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> test;
  while (test--) {
    cin >> n >> a >> b >> da >> db;
    for (int i = 1; i <= n; i++) {
      Adj[i].clear();
    }
    int u, v;
    for (int i = 1; i < n; i++) {
      cin >> u >> v;
      Adj[u].push_back(v);
      Adj[v].push_back(u);
    }
    dis = 0;
    depth[a] = 0;
    DFS(a, -1);
    cout << (2 * da >= min(db, dis) || da >= depth[b] ? "Alice\n" : "Bob\n");
  }
  return 0;
}
