Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:512 MB
Statistics

题目背景

小 Fabian 喜欢玩拼图。

题目描述

小 Fabian 得到了一个由 $n$ 个部分组成的一维拼图游戏。他很快意识到每块拼图都属于以下类型之一:

另外,已知在这 $n$ 片拼图中,恰好有一个 $5$ 号拼图或 $6$ 号拼图(左边框)和一个 $7$ 号拼图或 $8$ 号拼图(右边框)。

小 Fabian 希望将所有块排列成一行,以使第一个(最左边的)拼图类型为 $5$ 号拼图或 $6$ 号拼图,而最后一个(最右边的)拼图类型为 $7$ 号拼图或 $8$ 号拼图。如果有两块拼图,则可以彼此相邻放置,并且仅当它们的相邻边框的形状不同时,即一个边框具有凹凸,而另一个边框具有一个凸出才可以相邻放置。

对于小 Fabian 来说,这个问题太简单了,因此他决定在每个部分上写一个唯一的正整数。现在,他想要寻找出字典序最小的方案。

注意:拼图不能旋转!

输入格式

输入数据共 $n + 1$ 行。

第一行,一个正整数 $n$。

接下来,$n$ 行,包含两个整数 $x_i$ 和 $a_i$,它们表示 $i$ 的类型,$x_i$ 拼图编号,$a_i$ 表示 Fabian 在上面写的数字。数据保证所有 $a_i$ 不重复。

输出格式

输出数据共一行。

第一行,如果小 Fabian 无法解决拼图游戏,输出 -1。 否则,您应该输出拼图上数字按字典序排列最小的方案。

样例 #1

样例输入 #1

5
1 5
2 7
2 3
8 4
6 1

样例输出 #1

1 3 7 5 4

样例 #2

样例输入 #2

3
5 1
7 2
4 3

样例输出 #2

1 3 2

样例 #3

样例输入 #3

5
2 5
2 7
2 3
8 4
6 1

样例输出 #3

-1

提示

样例 #1 解释

只有 $2$ 种解法,如下:

可以看出,第二种解法的字典序较小,所以输出 1 3 7 5 4

数据规模及约定

对于 $100\%$ 的数据,$2 \le n \le 10^5, 1 \le x_i \le 8, 1 \le a_i \le 10^9$。