Hide

Problem C
Pasijans

Pasijans, patience, or solitaire is the name for a group of single player card games. One new such game, so new it has no name, is played with cards sporting random integers as values. The game starts by shuffling all cards and distributing them in $N$ sequences, not necessarily of equal length.

During each turn, the player can remove the first card in any sequence and place it at the end of the “Solution sequence”. The card that was second in the selected sequence now becomes the first and the turn ends. Of course once the card is in the “Solution sequence” it cannot be removed, replaced or altered in any way. So don’t even try.

The game ends when all cards are in the “Solution sequence”. The object of the game is to construct the best possible “Solution sequence”. One sequence is better than the other if for the first cards they differ, lets call them $X$ and $Y$, the value on the card $X$ is smaller than the value on the card $Y$.

Write a program that finds the best possible “Solution sequence”.

Input

The first line contains one integer $N$ ($1 \leq N \leq 1\, 000$), the number of starting sequences.

The next $N$ lines contain descriptions of input sequences. Each line starts with an integer $L$ ($1 \leq L \leq 1\, 000$), the length of the sequence. It is followed by $L$ positive integers, each at most $100\, 000\, 000$.

Output

One line containing $\sum L$ numbers, the best possible “Solution sequence” obtainable.

Sample Input 1 Sample Output 1
3
1 2
1 100
1 1
1 2 100
Sample Input 2 Sample Output 2
2
5 10 20 30 40 50
2 28 27
10 20 28 27 30 40 50
Sample Input 3 Sample Output 3
2
3 5 1 2
3 5 1 1
5 1 1 5 1 2

Please log in to submit a solution to this problem

Log in