Tupids 教授在最近的考古探险中发现了一份神秘的手稿。
事实上,这份手稿看起来是一系列含义尚待发现的符号。为了简化对手稿的研究,Tupids 教授创建了一个包含所有出现过的符号的字母表(设其数量为 $c$),并将每个符号替换为其在字母表中的位置(位置从 1 开始编号)。因此,手稿被表示为一个由 $[1, c]$ 区间内的 $n$ 个整数组成的列表。
教授的直觉告诉他,理解手稿的关键在于找到符号位置的一些规律。于是,他写下了一个拥有 $n$ 行 $c$ 列的巨大表格,其中第 $i$ 行第 $j$ 列的单元格记录了符号 $j$ 在位置 $i$ 之后下一次出现的位置(如果没有合适的出现位置,则该单元格留空)。
但随后灾难发生了:实验室的一场火灾彻底摧毁了手稿!幸运的是,教授制作的表格被抢救了出来,尽管它受到了一定程度的损坏。火灾不仅导致部分单元格丢失,而且由于助手们的粗心大意,每一行中的单元格都被任意重排了!
Tupids 教授不想在科学界丢脸,所以他请求你根据表格中剩余的信息帮助他恢复原始手稿。由于可能存在无数种不同的解(甚至字母表的大小 $c$ 也丢失了!),教授希望你恢复字典序最小的解。题目不保证解一定存在,因为表格可能已经被助手们完全弄乱了。
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 3 \cdot 10^5$),表示原始手稿的长度。接下来有 $n$ 行,第 $i$ 行包含一个整数 $c_i$ ($0 \le c_i \le n-i$),随后是 $c_i$ 个来自区间 $[i+1, n]$ 的不同整数:这些是第 $i$ 行表格中幸存的非空单元格的内容,以任意顺序给出。
保证所有 $c_i$ ($1 \le i \le n$) 的总和不超过 $3 \cdot 10^5$。
输出格式
如果解存在,输出一行包含 $n$ 个正整数:表示字典序最小的手稿。否则,输出 “No solution”(不含引号)。
样例
输入 1
4 3 2 3 4 2 4 3 1 4 0
输出 1
1 1 2 3
输入 2
5 1 2 1 4 1 4 1 5 0
输出 2
1 1 1 2 1