#include #define rep(i,a,b) for(int i=(a);i<=(b);i++) #define per(i,a,b) for(int i=(a);i>=(b);i--) #define REP(i,n) for(int i=0;i<(n);i++) #define fi first #define se second #define pb push_back #define mp make_pair using namespace std; typedef pair pii; typedef vector vi; typedef long long ll; template void read(T &x){ int f=0; x=0; char ch=getchar(); for(;!isdigit(ch);ch=getchar()) f|=(ch=='-'); for(;isdigit(ch);ch=getchar()) x=x*10+ch-'0'; if(f) x=-x; } const int N=20005; int flag[15],f[N],pos[N][105],n,len,t,p; void rmain(){ read(n); rep(i,1,n){ read(len); rep(j,1,len){ read(t),read(p); pos[i][t]=p; } f[i]=(i==1); } rep(T,1,100){ memset(flag,0,sizeof flag); rep(i,1,n){ if(!pos[i][T]) continue; flag[pos[i][T]]|=f[i]; } rep(i,1,n){ if(!pos[i][T]) continue; f[i]|=flag[pos[i][T]]; } } rep(i,1,n){ memset(pos[i],0,sizeof pos[i]); } vi ans; rep(i,1,n){ if(f[i]) ans.pb(i); } int sz=ans.size(); rep(i,0,sz-2){ printf("%d ",ans[i]); } printf("%d\n",ans[sz-1]); } int main(){ int T; read(T); while(T--) rmain(); return 0; }