#L3240. 「COCI 2019.12」Drvca

「COCI 2019.12」Drvca

题目描述

译自 COCI 2019/2020 Contest #3 T3「Drvca」

给出一个长度为 NN 的序列 h1,h2,,hNh_1, h_2, \dots, h_N。你需要把它划分成两个非空的子序列,使得每个子序列里的数构成了一个等差数列。

输入格式

第一行包含一个整数 NN (2N1052 \le N \le 10^5),表示序列的长度。

第二行包含 NN 个整数 h1,h2,,hNh_1, h_2, \dots, h_N (1hi1091 \le h_i \le 10^9),表示给出的序列。

输出格式

第一行输出一个整数 AA,表示第一个子序列的长度。第二行输出 AA 个整数,表示第一个子序列。

第三行输出一个整数 BB,表示第二个子序列的长度。第四行输出 BB 个整数,表示第二个子序列。

输出的序列必须非空,也就是 A>0A > 0B>0B > 0。原序列里每个元素恰好也属于其中一个子序列,也就是 A+B=NA + B = N。子序列里的元素必须按照从小到大排好序后输出。如果有多组合法方案,你可以输出任意一个。如果找不到任何方案,你仅需要输出 1-1

样例 1

输入

4
1 3 2 4

输出

2
1 2
2
3 4

样例 2

输入

6
23 4 7 6 8 15

输出

3
4 6 8
3
7 15 23

样例 3

输入

6
1 2 3 7 9 10

输出

-1

数据范围与提示

子任务 11010 分):2N152 \le N \le 15

子任务 23030 分):2N3002 \le N \le 300

子任务 33030 分):2N1052 \le N \le 10^5,存在一组解满足 A=BA = B

子任务 43030 分):没有额外限制。