#include #define all(n) (n).begin(), (n).end() #define se second #define fi first #define pb push_back #define mp make_pair #define sqr(n) (n)*(n) #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 IO ios::sync_with_stdio(0); cin.tie(0); using namespace std; typedef long long ll; typedef pair PII; typedef pair PIII; typedef pair PLL; typedef vector VI; typedef double db; const int N = 2e5 + 5; int n, m, _, k; bool v[20005]; pair s[N]; int main() { IO; for (cin >> _; _; --_) { cin >> n; memset(v, 0, sizeof v); v[1] = 1; int cnt = 0; rep (i, 1, n) { cin >> m; rep (j, 1, m) s[++cnt].se.se = i, cin >> s[cnt].fi >> s[cnt].se.fi; } sort(s + 1, s + 1 + cnt); rep (i, 1, cnt) { VI cur; cur.pb(s[i].se.se); bool f = v[cur.back()]; while (i < cnt) { if (s[i + 1].fi != s[i].fi || s[i + 1].se.fi != s[i].se.fi) break; cur.pb(s[++i].se.se); if (f) continue; f = v[cur.back()]; } if (f) for (int j : cur) v[j] = 1; } cout << 1; rep (i, 2, n) if (v[i]) cout << ' ' << i; cout << endl; } return 0; }