#include #define pb push_back #define mp make_pair #define fi first #define se second using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair pii; typedef pair pll; template bool chkmax(T &x,T y){return x bool chkmin(T &x,T y){return x>y?x=y,true:false;} int readint(){ int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } int n; vector vec[105][15]; bool vis[20005]; int main(){ int T=readint(); while(T--){ n=readint(); for(int i=1;i<=100;i++) for(int j=1;j<=10;j++) vec[i][j].clear(); int x,t,p; for(int i=1;i<=n;i++){ x=readint(); while(x--) t=readint(),p=readint(),vec[t][p].pb(i); } for(int i=1;i<=n;i++) vis[i]=0; vis[1]=1; for(int i=1;i<=100;i++){ for(int j=1;j<=10;j++){ bool fl=0; for(auto r:vec[i][j]) if(vis[r]) fl=1; if(fl) for(auto r:vec[i][j]) vis[r]=1; } } vector ans(0); for(int i=1;i<=n;i++) if(vis[i]) ans.pb(i); for(int i=0;i