#include<bits/stdc++.h>usingnamespace std;typedeflonglong ll;constint N =1e4+7;int n, deg[N], root;
vector<int> G[N];int dep[N], par[N][20];voiddfs(int u,int fa){
dep[u]= dep[fa]+1;
par[u][0]= fa;for(int i =1; i <20;++i){
par[u][i]= par[ par[u][i -1]][i -1];}for(int i =0; i < G[u].size();++i){int v = G[u][i];if(v == fa)continue;dfs(v, u);}}intlca(int u,int v){if(dep[u]< dep[v])swap(u, v);for(int i =19; i >=0;--i){if(dep[ par[u][i]]>= dep[v]){
u = par[u][i];}}if(u == v)return u;for(int i =19; i >=0;--i){if(par[u][i]!= par[v][i]){
u = par[u][i];
v = par[v][i];}}return par[u][0];}intmain(){int t =1;scanf("%d",&t);while(t--){scanf("%d",&n);for(int i =1; i <= n;++i){
G[i].clear();
deg[i]=0;}int u, v;for(int i =1; i < n;++i){scanf("%d %d",&u,&v);
G[u].push_back(v);
deg[v]++;}for(int i =1; i <= n;++i){if(deg[i]==0){
root = i;break;}}dfs(root,0);scanf("%d %d",&u,&v);printf("%d\n",lca(u, v));}return0;}