/*** author: yuji9511 ***/
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> lpair;
const ll MOD = 1e9 + 7;
const ll INF = 1e18;
#define rep(i,m,n) for(ll i = (m); i < (n); i++)
#define rrep(i,m,n) for(ll i = (m); i >= (n); i--)
#define printa(x,n) for(ll i = 0; i < n; i++){ cout << (x[i]) << " \n"[i==n-1];};
void print() {}
template <class Head, class... Tail>
void print(Head&& head, Tail&&... tail){ cout << head << " \n"[sizeof...(tail) == 0]; print(forward<Tail>(tail)...);}

int main(){
	cin.tie(0);
	ios::sync_with_stdio(false);
	ll N;
	cin >> N;
	ll P[1010];
	queue<ll> A[1010];
	rep(i,0,N){
		cin >> P[i];
		rep(j,0,P[i]){
			ll tmp;
			cin >> tmp;
			A[i].push(tmp);
		}
	}
	vector<ll> ans;
	while(1){
		bool end = true;
		rep(i,0,N){
			if(not A[i].empty()){
				end = false;
				ll v = A[i].front();
				ans.push_back(v);
				A[i].pop();
			}
		}
		if(end) break;
	}
	printa(ans, ans.size());
	
}