小红开宝箱
题号:NC282947
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

小红来到了一个宝箱面前,但这个宝箱上锁了,开这个宝箱需要进行解密。

解密的方式是:给出了n根柱子,小红必须按照规定的次序依次击打这n根柱子。

现在小红通过贿赂地下城的设计者小紫,得出了每次应击打的柱子的可能性。小红想让你帮忙设计一个击打顺序,使得该顺序和小紫给出的信息不冲突。

输入描述:

第一行输入一个正整数n,代表柱子的数量。
接下来的n行,每行首先输入一个正整数k_i,代表对于第i次击打小紫给出的信息(柱子的可能性)数量。紧接着是k_i个正整数p_{ij},代表该次击打有可能是哪一个柱子。
1\leq n \leq 10^5
1\leq k_i \leq 2
1\leq p_{ij} \leq n

输出描述:

如果不存在一个合法解,代表小紫欺骗了小红,请输出"kou is angry"。否则输出一个长度为n的排列,代表一个合法的击打序列。有多解时输出任意即可。
示例1

输入

复制
3
1 2
2 1 3
2 1 3

输出

复制
2 1 3

说明

输出2 3 1也是可以的。