#include #include #include #include using namespace std; const int N = 1e5 + 10; int vis[N]; vector vec[200][20]; int main(){ int T; cin >> T; while (T --){ int n; cin >> n; memset(vis, 0, sizeof(vis[0]) * (n + 10)); for (int i = 1; i <= 100; i ++) for (int j = 1; j <= 10; j ++) vec[i][j].clear(); for (int i = 1; i <= n; i ++){ int len; cin >> len; while (len --){ int t, p; cin >> t >> p; vec[t][p].push_back(i); } } vis[1] = 1; for (int t = 1; t <= 100; t ++) for (int p = 1; p <= 10; p ++){ bool flag = false; for (int i = 0; i < vec[t][p].size(); i ++){ if (vis[vec[t][p][i]]){ flag = true; break; } } if (flag){ for (int i = 0; i < vec[t][p].size(); i ++) vis[vec[t][p][i]] = 1; } } printf("1"); for (int i = 2; i <= n; i ++) if (vis[i]) printf(" %d", i); cout << endl; } }