#include <bits/stdc++.h>
using namespace std;
int n;
set<int> arr[202 * 203 / 2];
set<int> interseccion(set<int> A, set<int> B) {
  set<int> res;
  set<int>::iterator it1, it2;
  for (it1 = A.begin(), it2 = B.begin(); it1 != A.end() && it2 != B.end();) {
    if (*it1 < *it2)
      ++it1;
    else if (*it2 < *it1)
      ++it2;
    else {
      res.insert(*it1);
      it1++;
      it2++;
    }
  }
  return res;
}
set<int> dame(set<int> A, set<int> B) {
  set<int> res;
  set<int>::iterator it = B.begin();
  for (; it != B.end(); it++) A.erase(*it);
  return A;
}
int cont[202 * 202 / 2];
int grupo[202 * 202 / 2][202];
int main() {
  scanf("%d", &n);
  int k;
  int val;
  bool esta[203];
  memset(esta, false, sizeof esta);
  bool tiene[203];
  memset(tiene, false, sizeof tiene);
  memset(cont, 0, sizeof cont);
  for (int i = 0; i < n * (n - 1) / 2; i++) {
    scanf("%d", &k);
    for (int j = 0; j < k; j++) {
      scanf("%d", &val);
      esta[val] = true;
      arr[i].insert(val);
      grupo[val][cont[val]++] = i;
    }
  }
  set<int> res;
  if (n == 2) {
    res = arr[0];
    vector<int> v(res.begin(), res.end());
    printf("1 %d\n", v[0]);
    printf("%d", v.size() - 1);
    for (int i = 1; i < v.size(); i++) {
      printf(" %d", v[i]);
    }
    printf("\n");
    return 0;
  }
  set<set<int> > todos;
  int a, b;
  for (int i = 1; i <= 200; i++) {
    if (esta[i] && !tiene[i]) {
      a = grupo[i][0];
      b = grupo[i][1];
      set<int> nuevo = interseccion(arr[a], arr[b]);
      for (set<int>::iterator it = nuevo.begin(); it != nuevo.end(); it++) {
        tiene[*it] = true;
      }
      set<int> otro = dame(arr[a], nuevo);
      for (set<int>::iterator it = otro.begin(); it != otro.end(); it++) {
        tiene[*it] = true;
      }
      todos.insert(nuevo);
      todos.insert(otro);
    }
  }
  for (set<set<int> >::iterator it = todos.begin(); it != todos.end(); it++) {
    res = *it;
    printf("%d", res.size());
    for (set<int>::iterator it2 = res.begin(); it2 != res.end(); it2++) {
      printf(" %d", *it2);
    }
    printf("\n");
  }
  return 0;
}
