#include using namespace std; int n; vector V[101][11]; int flag[20001]; vector ans; inline void solve() { scanf("%d",&n); for(int i=1;i<=100;i++) for(int j=1;j<=10;j++) V[i][j].clear(); for(int i=1;i<=n;i++) { flag[i]=0; int l;scanf("%d",&l); while(l--) { int t,p;scanf("%d%d",&t,&p); V[t][p].push_back(i); } } flag[1]=1; for(int i=1;i<=100;i++) for(int j=1;j<=10;j++) { int fff=0; for(int k=0;k<(int)V[i][j].size();k++) if(flag[V[i][j][k]]) fff=1; if(fff) for(int k=0;k<(int)V[i][j].size();k++) flag[V[i][j][k]]=1; } ans.clear(); for(int i=1;i<=n;i++) if(flag[i]) ans.push_back(i); for(int i=0;i<(int)ans.size();i++) { printf("%d",ans[i]); if(i==(int)ans.size()-1) putchar('\n'); else putchar(' '); } } int main() { int T;cin>>T; while(T--) solve(); }