#include <bits/stdc++.h>
using namespace std;
vector<int> v[100001];
int d[100001];
void go(int x, int p) {
  for (int next : v[x]) {
    if (next == p) continue;
    if (d[next] == -1) {
      d[next] = d[x] + 1;
      go(next, x);
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int t;
  cin >> t;
  while (t--) {
    int n, a, b, da, db;
    cin >> n >> a >> b >> da >> db;
    for (int i = 1; i <= n; i++) v[i].clear();
    for (int i = 1; i < n; i++) {
      int x, y;
      cin >> x >> y;
      v[x].push_back(y);
      v[y].push_back(x);
    }
    for (int i = 1; i <= n; i++) {
      d[i] = -1;
    }
    d[a] = 0;
    go(a, 0);
    if (d[b] <= da || da * 2 >= db) {
      cout << "Alice" << '\n';
      continue;
    }
    int idx = -1, cnt = -1;
    for (int i = 1; i <= n; i++) {
      if (idx == -1 || cnt < d[i]) {
        cnt = d[i];
        idx = i;
      }
    }
    for (int i = 1; i <= n; i++) {
      d[i] = -1;
    }
    d[idx] = 0;
    go(idx, 0);
    for (int i = 1; i <= n; i++)
      if (cnt == -1 || cnt < d[i]) cnt = d[i];
    if (cnt <= 2 * da) {
      cout << "Alice" << '\n';
    } else
      cout << "Bob" << '\n';
  }
}
