萨格勒布的降临节(Advent in Zagreb)是一个传统的节日庆典,其最吸引人的地方是位于市中心的魔幻圣诞市场。值得一提的是,该活动曾连续三年被评为欧洲最佳。除了传播迅速外,好消息也往往传播得很远。事实上,关于萨格勒布降临节的消息已经传到了北极,传到了圣诞老人本人耳中。有趣的是,圣诞老人从未访问过克罗地亚(除了在平安夜进行常规工作外)。仔细想想,这很合理,因为他并不真正喜欢海边的夏季活动,而且他可以在自己舒适的家中解决 COCI 的题目。
幸运的是,他决定参观我们的圣诞市场,因此他给市政厅寄了一封信,声明他将于 12 月 14 日清晨降落在萨格勒布的主广场。在现场参加完一轮 COCI 比赛后,他将在 Malnar 先生的带领下参观萨格勒布最棒的美食景点。
你可能会纳闷:“圣诞老人到底打算怎么降落,那里又没有跑道!”。你说得对,确实没有,但我们会解决的。市政厅已经准备了 $N$ 棵圣诞树,准备在主广场上展示。现在,他们只需将这些树排成两行,以此来界定跑道的边界。出于某种原因,他们希望每一行中任意两棵相邻树木的高度差的绝对值都相同。此外,他们希望每一行中的树木都按照从矮到高的顺序排列。请帮助他们将这些树木分成满足上述条件的两行。
输入格式
第一行包含一个整数 $N$($2 \le N \le 10^5$),含义如题面所述。
第二行包含 $N$ 个整数 $h_i$($1 \le h_i \le 10^9$),表示所有 $N$ 棵圣诞树的高度。
输出格式
第一行输出一个整数 $A$,表示第一行的树木数量。
第二行输出 $A$ 个整数,表示跑道第一行中树木的高度。
第三行输出一个整数 $B$,表示第二行的树木数量。
第四行输出 $B$ 个整数,表示跑道第二行中树木的高度。
两行均不能为空($A > 0$ 且 $B > 0$),并且每棵树必须恰好属于其中一行($A + B = N$)。此外,每行中的树木高度必须按从矮到高的顺序排列。如果存在多种解决方案,你可以输出其中任意一种。如果不存在满足必要条件的解决方案,则应在唯一的输出行中输出 $-1$。
数据范围
| 子任务 | 分数 | 数据范围 |
|---|---|---|
| 1 | 20 | $N \le 15$ |
| 2 | 30 | $N \le 300$ |
| 3 | 30 | $N \le 10^5$,且存在一种两行树木数量相同的解。 |
| 4 | 30 | 无附加限制。 |
样例
输入样例 1
4 1 3 2 4
输出样例 1
2 1 2 2 3 4
输入样例 2
6 23 4 7 6 8 15
输出样例 2
3 4 6 8 3 7 15 23
输入样例 3
6 1 2 3 7 9 10
输出样例 3
-1