#include <bits/stdc++.h>
using namespace std;
const int N = 205;
int n, siz[N], s[N][N], ori[N][N], tot[N], pos[N];
vector<int> ans;
int read() {
  int x = 0, f = 1;
  char s;
  while ((s = getchar()) > '9' || s < '0')
    if (s == '-') f = -1;
  while (s >= '0' && s <= '9')
    x = (x << 1) + (x << 3) + (s ^ 48), s = getchar();
  return x * f;
}
bool ok() {
  for (int i = 1; i <= n; ++i)
    if (tot[i]) return 0;
  return 1;
}
bool check() {
  int maxx;
  for (int i = 1; i <= n; ++i) pos[ans[n - i]] = i;
  for (int i = 1; i < n; ++i) {
    maxx = 0;
    for (int j = 1; j <= n; ++j) tot[j] = 0;
    for (int j = 1; j <= siz[i]; ++j)
      maxx = max(maxx, pos[ori[i][j]]), ++tot[ori[i][j]];
    if (maxx - siz[i] + 1 < 1) return 0;
    for (int j = maxx; j >= maxx - siz[i] + 1; --j)
      if (!tot[ans[n - j]]) return 0;
  }
  return 1;
}
int main() {
  int x, sum;
  bool flag;
  for (int T = read(); T; --T) {
    n = read();
    for (int i = 1; i < n; ++i) {
      siz[i] = read();
      for (int j = 1; j <= siz[i]; ++j) ori[i][j] = read();
    }
    for (int num = 1; num <= n; ++num) {
      ans.clear();
      flag = 0;
      for (int i = 1; i < n; ++i) {
        for (int j = 1; j <= siz[i]; ++j) {
          s[i][j] = ori[i][j];
          if (s[i][j] == num) s[i][j] = 0;
        }
      }
      while (233) {
        sum = 0;
        for (int i = 0; i <= n; ++i) tot[i] = 0;
        for (int i = 1; i < n; ++i)
          for (int j = 1; j <= siz[i]; ++j) ++tot[s[i][j]];
        for (int i = 1; i <= n; ++i)
          if (tot[i] == 1) ++sum, x = i;
        if (ok()) break;
        if (sum != 1) {
          flag = 1;
          break;
        }
        ans.push_back(x);
        bool f;
        for (int i = 1; i < n; ++i) {
          f = 0;
          for (int j = 1; j <= siz[i]; ++j)
            if (s[i][j] == x) {
              f = 1;
              break;
            }
          if (f)
            for (int j = 1; j <= siz[i]; ++j) s[i][j] = 0;
        }
      }
      if (!flag) {
        ans.push_back(num);
        if (check()) break;
      }
    }
    for (int i = ans.size() - 1; ~i; --i) printf("%d ", ans[i]);
    puts("");
  }
  return 0;
}
