B3782 [语言月赛202306] 纸条

题目描述

zyl 桌上有 $n$ 张纸条(编号 $1\sim n$),他要把这些纸条按被写下的时间的前后顺序排好,但是纸条上不会有日期,zyl 需要自己判断。 zyl 可以根据纸条内容的连贯性来确定**紧跟**在一张纸条之后纸条有哪些。同时,他可以通过纸条的破损程度判断内容不连贯的纸条的时间先后顺序。显然,对于一段连贯内容的最后一张纸条,紧跟在它后面的纸条只能通过破损程度来判断。 现在,你会收到按以下规则给出的,每张纸条的信息: 首先,你会得知在这一段连贯内容中紧跟在这张纸条后面的纸条的数量 $m$。 其次,按照时间前后依次告诉你这些纸条的编号。 如果没有「连贯内容中紧跟在后面的纸条」(即在连贯内容的最后一张,$m = 0$),则会按照破损程度给出紧跟它的下一张纸条的编号,如果没有「按照破损程度紧跟它的下一张纸条」,你会得到一个 $-1$ 信号。 **如果对于这一部分理解有困难,可以参照「输入格式」及「样例组」进行理解。** 请你帮助 zyl 将纸条排序,并将这 $n$ 张纸条按时间顺序排序后的编号输出。

输入格式

输入共 $n+1$ 行。 第一行一个整数 $n$,表示纸条的张数。 第 $2\sim n+1$ 行,第 $i+1$ 行具体内容如下: 第一个整数 $m$,表示在连贯内容内 $i$ 号纸条之后有多少张纸条。 - 如果 $m>0$,则接下来 $m$ 个整数,表示按照时间前后紧跟在 $i$ 号纸条后的纸条编号。 - 如果 $m = 0$,接下来一个整数,表示按照纸条的破损程度,紧跟在 $i$ 号纸条后面的纸条编号。如果其后没有纸条,则该整数为 $-1$。

输出格式

输出共一行 $n$ 个整数,表示按时间先后排好序后纸条的编号。

说明/提示

### 样例 1 解释 纸条 $2,1,3$ 是内容连贯的纸条,纸条 $5,4$ 是另一组内容连贯的纸条。 ### 数据规模与约定 对于 $20\%$ 的数据,$n\leq 5$。 对于 $100\%$ 的数据,$0\leq m