#include #include #include #include #include using namespace std; const double eps = 1e-8; int pre[20005]; vectortp[105][15]; int main(){ int t; int n; scanf("%d",&t); while(t--){ scanf("%d",&n); for(int i = 1;i <= n; ++i)pre[i] = i; pre[1] = 0; int len, x, y, maxt = 0; for(int i = 1;i <= n; ++i){ scanf("%d",&len); for(int j = 1;j <= len; ++j){ scanf("%d%d",&x,&y); tp[x][y].push_back(i); maxt = max(maxt, x); } } for(int i = 1;i <= maxt; ++i){ for(int j = 1;j <= 10; ++j){ bool flag = false; for(int k = 0;k < tp[i][j].size(); ++k){ if(pre[tp[i][j][k]] == 0){ flag = true; break; } } if(flag){ for(int k = 0;k < tp[i][j].size(); ++k)pre[tp[i][j][k]] = 0; } } } vector ans; for(int i = 1;i <= n; ++i){ if(pre[i] == 0)ans.push_back(i); } for(int i = 0;i < ans.size(); ++i){ if(i == ans.size() - 1)printf("%d\n", ans[i]); else printf("%d ",ans[i]); } for(int i = 1;i <= maxt; ++i){ for(int j = 1;j <= 10; ++j){ tp[i][j].clear(); } } } }