#include using namespace std; int T, n, s, t, p; int c[20005]; vector v[20005]; int main() { cin >> T; while(T--) { memset(c, 0, sizeof(c)); for(int i = 0; i < 20005; i++) v[i].clear(); cin >> n; for(int i = 0; i < n; i++) { cin >> s; for(int j = 0; j < s; j++) { cin >> t >> p; v[t * 100 + p].push_back(i); } } c[0] = 1; for(int i = 1; i <= 100; i++) { for(int j = 1; j <= 10; j++) { int f = 0; for(int k = 0; k < v[i * 100 + j].size(); k++) { if(c[v[i * 100 + j][k]]) f = 1; } if(f) { for(int k = 0; k < v[i * 100 + j].size(); k++) { c[v[i * 100 + j][k]] = 1; } } } } vector ans; for(int i = 0; i < n; i++) if(c[i]) ans.push_back(i + 1); for(int i = 0; i < ans.size() - 1; i++) cout << ans[i] << " "; cout << ans[ans.size() - 1] << endl; } }