#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> v;
vector<int> d;
int n, a, b, da, db;
void f(int x, int p) {
  for (int i : v[x]) {
    if (i != p) {
      d[i] = d[x] + 1;
      f(i, x);
    }
  }
}
pair<int, int> g(int x) {
  d.assign(n + 1, 0);
  f(x, x);
  int t = 0;
  for (int i = 1; i <= n; i++) {
    if (d[i] > d[t]) t = i;
  }
  return {t, d[t]};
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int t;
  cin >> t;
  while (t--) {
    cin >> n >> a >> b >> da >> db;
    v.assign(n + 1, vector<int>());
    for (int i = 1; i < n; i++) {
      int x, y;
      cin >> x >> y;
      v[x].push_back(y);
      v[y].push_back(x);
    }
    if (da * 2 + 1 > db) {
      cout << "Alice"
           << "\n";
      continue;
    }
    d.assign(n + 1, 0);
    f(a, a);
    if (d[b] <= da) {
      cout << "Alice"
           << "\n";
      continue;
    }
    int x = g(1).first;
    int y = g(x).second;
    if (y < 2 * da + 1) {
      cout << "Alice"
           << "\n";
      continue;
    }
    cout << "Bob"
         << "\n";
  }
}
