#include <bits/stdc++.h>
using namespace std;
#define log_n 11
#define debug(x) cout<<#x<<" = "<<x<<endl
int n;
vector<int> adjList[10005];
int ancestor[15][10005];
int lv[1005];
void dfs(int u,int e,int depth)
{
lv[u]=depth;
ancestor[0][u]=e;
for(int v: adjList[u]){
if(v==e) continue;
dfs(v,u,depth+1);
}
}
void buildAncestor()
{
dfs(1,0,1);
for(int i=1;i<=log_n;i++){
for(int u=1;u<=n;u++){
ancestor[i][u]=ancestor[i-1][ ancestor[i-1][u] ];
}
}
}
int upward(int u,int d)
{
for(int i=log_n;i>=0;i--){
if(d & (1<<i)){
u=ancestor[i][u];
}
}
return u;
}
int LCA(int a,int b)
{
if(lv[a]>lv[b]) swap(a,b);
b=upward(b,lv[b]-lv[a]);
if(a!=b){
for(int i=log_n;i>=0;i--){
if(ancestor[i][a]!=ancestor[i][b]){
a=ancestor[i][a];
b=ancestor[i][b];
}
}
//cout<<a<<endl;
//cout<<ancestor[0][a]<<endl;
//int x=ancestor[0][a];
cout<<"hola";
//a=x;
}
return a;
}
int main()
{
int t;
cin>>t;
while(t--){
memset(lv,0,sizeof(lv));
cin>>n;
for(int i=1;i<=n;i++){
adjList[i].clear();
}
for(int i=1;i<=n;i++){
int m;
cin>>m;
while(m--){
int a;
cin>>a;
adjList[i].push_back(a);
adjList[a].push_back(i);
}
}
buildAncestor();
int q;
cin>>q;
while(q--){
int a,b;
cin>>a>>b;
//cout<<LCA(a,b)<<'\n';
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbG9nX24gMTEKI2RlZmluZSBkZWJ1Zyh4KSBjb3V0PDwjeDw8IiA9ICI8PHg8PGVuZGwKaW50IG47CnZlY3RvcjxpbnQ+IGFkakxpc3RbMTAwMDVdOwppbnQgYW5jZXN0b3JbMTVdWzEwMDA1XTsKaW50IGx2WzEwMDVdOwp2b2lkIGRmcyhpbnQgdSxpbnQgZSxpbnQgZGVwdGgpCnsKICAgIGx2W3VdPWRlcHRoOwogICAgYW5jZXN0b3JbMF1bdV09ZTsKICAgIGZvcihpbnQgdjogYWRqTGlzdFt1XSl7CiAgICAgICAgaWYodj09ZSkgY29udGludWU7CiAgICAgICAgZGZzKHYsdSxkZXB0aCsxKTsKICAgIH0KfQp2b2lkIGJ1aWxkQW5jZXN0b3IoKQp7CiAgICBkZnMoMSwwLDEpOwogICAgZm9yKGludCBpPTE7aTw9bG9nX247aSsrKXsKICAgICAgICBmb3IoaW50IHU9MTt1PD1uO3UrKyl7CiAgICAgICAgICAgIGFuY2VzdG9yW2ldW3VdPWFuY2VzdG9yW2ktMV1bIGFuY2VzdG9yW2ktMV1bdV0gXTsKICAgICAgICB9CiAgICB9Cn0KaW50IHVwd2FyZChpbnQgdSxpbnQgZCkKewogICAgZm9yKGludCBpPWxvZ19uO2k+PTA7aS0tKXsKICAgICAgICBpZihkICYgKDE8PGkpKXsKICAgICAgICAgICAgdT1hbmNlc3RvcltpXVt1XTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gdTsKfQppbnQgTENBKGludCBhLGludCBiKQp7CiAgICBpZihsdlthXT5sdltiXSkgc3dhcChhLGIpOwogICAgYj11cHdhcmQoYixsdltiXS1sdlthXSk7CiAgICBpZihhIT1iKXsKICAgICAgICBmb3IoaW50IGk9bG9nX247aT49MDtpLS0pewogICAgICAgICAgICBpZihhbmNlc3RvcltpXVthXSE9YW5jZXN0b3JbaV1bYl0pewogICAgICAgICAgICAgICAgYT1hbmNlc3RvcltpXVthXTsKICAgICAgICAgICAgICAgIGI9YW5jZXN0b3JbaV1bYl07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy9jb3V0PDxhPDxlbmRsOwogICAgICAgIC8vY291dDw8YW5jZXN0b3JbMF1bYV08PGVuZGw7CiAgICAgICAgCiAgICAgICAgLy9pbnQgeD1hbmNlc3RvclswXVthXTsKICAgICAgICBjb3V0PDwiaG9sYSI7CiAgICAgICAgLy9hPXg7CiAgICB9CiAgICByZXR1cm4gYTsKfQppbnQgbWFpbigpCnsKICAgIGludCB0OwogICAgY2luPj50OwogICAgd2hpbGUodC0tKXsKICAgICAgICBtZW1zZXQobHYsMCxzaXplb2YobHYpKTsKICAgICAgICBjaW4+Pm47CiAgICAgICAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgICAgICAgICBhZGpMaXN0W2ldLmNsZWFyKCk7CiAgICAgICAgfQogICAgICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKXsKICAgICAgICAgICAgaW50IG07CiAgICAgICAgICAgIGNpbj4+bTsKICAgICAgICAgICAgd2hpbGUobS0tKXsKICAgICAgICAgICAgICAgIGludCBhOwogICAgICAgICAgICAgICAgY2luPj5hOwogICAgICAgICAgICAgICAgYWRqTGlzdFtpXS5wdXNoX2JhY2soYSk7CiAgICAgICAgICAgICAgICBhZGpMaXN0W2FdLnB1c2hfYmFjayhpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBidWlsZEFuY2VzdG9yKCk7CiAgICAgICAgaW50IHE7CiAgICAgICAgY2luPj5xOwogICAgICAgIHdoaWxlKHEtLSl7CiAgICAgICAgICAgIGludCBhLGI7CiAgICAgICAgICAgIGNpbj4+YT4+YjsKICAgICAgICAgICAgLy9jb3V0PDxMQ0EoYSxiKTw8J1xuJzsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQo=