#HK6977. 「ICPC World Finals 2024」幼儿园

「ICPC World Finals 2024」幼儿园

题目描述

带着一群幼儿园小朋友去天文馆可不是件容易的事。你非常希望能这样做,让每个孩子都有机会进入有巨大望远镜的房间,亲眼看看木星。然而,现在你想起了其他看护者讲过的故事——孩子们可能会行为不当,在望远镜房间里留下一些令人头疼的惊喜,让后面的孩子遭殃。你非常希望避免这种情况发生。

你对你小组里的孩子们非常了解。每个孩子都会嫉妒另一个比他们酷的孩子,如果他们知道自己嫉妒的对象会在他们之后——不一定是紧接着之后,只是稍后某个时间——进入望远镜房间,他们可能会在房间里捣乱。你本以为这会很简单:班里最酷的孩子没有嫉妒的对象,所以她可以第一个进去,然后其他孩子按照酷的程度依次进入。然而,你刚刚得知最酷的孩子是个例外——她并不是嫉妒比自己更酷的人,而是嫉妒组里某个随机的其他孩子。这听起来简直是一场灾难!

幸运的是,你还知道每个孩子都有一个他们非常非常喜欢的孩子。所以,每当一个孩子在望远镜房间里想要搞恶作剧时,如果他们知道自己喜欢的孩子会在他们之后、但在他们嫉妒的孩子之前进入房间,他们就会克制自己不去捣乱。形式化地讲,如果孩子 AA 嫉妒孩子 BB,并且非常喜欢孩子 CC,那么当 BB 会在 AA 之后进入望远镜房间,而 CC 会在 AA 之前或 BB 之后进入时,AA 就有可能捣乱并留下惊喜。

你能找出一个让孩子们进入望远镜房间的顺序,确保不会发生任何惊喜吗?

输入格式

第一行包含一个整数 nn (3n200000)(3 \leq n \leq 200000),表示你小组里的孩子数量。孩子们按照酷的程度从高到低编号为 11nn。接下来的 nn 行,每行描述一个孩子。第 ii 行包含两个整数:jij_{i},表示第 ii 个孩子嫉妒的孩子编号;lil_{i},表示第 ii 个孩子非常非常喜欢的孩子编号(1ji,lin1 \leq j_{i}, l_{i} \leq njilij_{i} \neq l_{i}jiij_{i} \neq iliil_{i} \neq i,并且对于除 11 之外的所有 iiji<ij_{i} < i)。

输出格式

输出一行包含 nn 个整数,表示孩子们进入望远镜房间的顺序。如果有多种排序方式,输出任意一种即可。如果不存在可行的顺序,则输出 impossible

4
4 2
1 4
2 4
2 1

1 2 3 4

4
2 3
1 4
2 1
1 2

impossible