func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 1e5 + 10;   const int inf = 0x3f3f3f3f;   const int mod = 1e9 + 7;   int n, m, k, t, mx, mi, x, y, dx, dy, idx, cnt, tot, sum, res, flag, st;   vector<int> e[maxn];   void dfs(int u, int pre, int dep, int op) {     if (dep > mx) {       mx = dep;       idx = u;     }     if (u == y && op) {       if (dep <= dx) {         flag = 1;         return;       }     }     for (int v : e[u]) {       if (v == pre) continue;       dfs(v, u, dep + 1, op);     }   }   int main() {     scanf( %d , &t);     while (t--) {       flag = 0;       scanf( %d %d %d %d %d , &n, &x, &y, &dx, &dy);       for (int i = 1; i <= n; i++) {         e[i].clear();       }       for (int i = 1; i < n; i++) {         int u, v;         scanf( %d %d , &u, &v);         e[u].push_back(v);         e[v].push_back(u);       }       mx = 0;       dfs(x, 0, 0, 1);       if (flag) {         puts( Alice );         continue;       }       mx = 0;       dfs(idx, 0, 0, 0);       if (2 * dx >= mx || dy <= 2 * dx) {         puts( Alice );       } else {         puts( Bob );       }     }     return 0;   }   