Pasijans、patience 或 solitaire 是一类单人纸牌游戏的统称。有一种全新的此类游戏(新到还没有名字),使用印有随机整数作为点数的纸牌进行。游戏开始时,将所有纸牌洗匀并分配到 $N$ 个序列中,这些序列的长度不一定相等。
在每个回合中,玩家可以移去任意一个序列的第一张纸牌,并将其放置在“解序列”(Solution sequence)的末尾。被选序列中的第二张纸牌现在变成第一张,回合结束。当然,纸牌一旦进入“解序列”,就不能以任何方式被移去、替换或修改。所以想都别想。
当所有纸牌都进入“解序列”时,游戏结束。游戏的目标是构建出尽可能好的“解序列”。如果两个序列在第一个不同的位置上,对应的纸牌分别为 $X$ 和 $Y$,且纸牌 $X$ 上的数值小于纸牌 $Y$ 上的数值,则前一个序列比后一个序列更好(即字典序更小)。
编写一个程序,寻找可能得到的最好的“解序列”。
输入格式
第一行包含一个整数 $N$ ($1 \le N \le 1000$),表示初始序列的数量。
接下来的 $N$ 行包含输入序列的描述。每行以一个整数 $L$ ($1 \le L \le 1000$) 开始,表示该序列的长度。随后是 $L$ 个小于 $100\,000\,000$ 的整数。
输出格式
输出一行,包含 $\sum L$ 个数字,表示能够得到的最好的“解序列”。
样例
输入样例 1
3 1 2 1 100 1 1
输出样例 1
1 2 100
输入样例 2
2 5 10 20 30 40 50 2 28 27
输出样例 2
10 20 28 27 30 40 50
输入样例 3
2 3 5 1 2 3 5 1 1
输出样例 3
5 1 1 5 1 2