#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
long long dx[] = {-1, 0, 1, 0};
long long dy[] = {0, -1, 0, 1};
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long t;
  cin >> t;
  while (t--) {
    long long n, a, b, da, db;
    cin >> n >> a >> b >> da >> db;
    vector<vector<long long>> g(n + 1);
    for (long long i = 1; i < n; i++) {
      long long x, y;
      cin >> x >> y;
      g[x].push_back(y);
      g[y].push_back(x);
    }
    vector<long long> d(n + 1, 0);
    function<long long(long long)> bfs = [&](long long s) {
      d.clear();
      d.resize(n + 1, -1);
      queue<long long> q;
      d[s] = 0;
      q.push(s);
      long long mx = -1;
      long long in = -1;
      while (q.size()) {
        long long x = q.front();
        q.pop();
        for (auto i : g[x]) {
          if (d[i] == -1) {
            d[i] = d[x] + 1;
            if (d[i] > mx) {
              mx = d[i];
              in = i;
            }
            q.push(i);
          }
        }
      }
      return in;
    };
    long long in = bfs(1);
    long long z = bfs(in);
    db = min(db, d[z]);
    bfs(a);
    long long k = d[b];
    if (k > da && 2 * da < db) {
      cout << "Bob\n";
    } else
      cout << "Alice\n";
  }
}
