#include<iostream>
#include<cmath>
#include<string.h>
#include<algorithm>
#include<iomanip>
#include<cstdio>
#include<string>
#include<map>
#include<vector>
typedef long long ll;
using namespace std;
const int N=
10001;
int f[N],r[N];
vector<int> v[N];
void dfs(
int u,
int dep)
{
r[u]=dep;
for(
vector<int>::iterator it=v[u].begin();it!=v[u].end();it++)
dfs(*it,dep+
1);
}
int main()
{
int t;
scanf(
"%d",&t);
while(t--)
{
int n,m;
int a,b;
scanf(
"%d",&n);
memset(f,
255,
sizeof(f));
for(
int i=
1;i<=n;i++) v[i].clear();
for(
int i=
0;i<n-
1;i++)
{
scanf(
"%d%d",&a,&b);
v[a].push_back(b);
f[b]=a;
}
int i;
for(i=
1;f[i]>=
0;i++);
dfs(i,
0);
scanf(
"%d%d",&a,&b);
while(a!=b)
{
if(r[a]>r[b]) a=f[a];
else b=f[b];
}
printf(
"%d\n",a);
}
return 0;
}