在遥远的 ICPC 王国中,有 $n$ 座塔。对于每座塔,我们知道它在王国地图上的位置 $(x, y)$。为了简化问题,我们将每座塔视为地图上的一个点。保证没有两座塔位于相同的位置,且没有三座塔共线。
EUC 国王决定是时候建造三座城堡了,建造规则如下:
- 每个城堡包含一个非空的塔的集合。
- 不能有塔被孤立,即每座塔必须属于某一个城堡。
- 每个城堡在王国地图上应形成一个凸多边形,且其所有的塔都位于该多边形的顶点上。我们认为仅包含一座或两座塔的城堡也是合法的。
- 任意两座城堡在地图上不能有公共点,无论是在边界上还是在内部。
EUC 国王还没有决定他的三座城堡各包含多少座塔。因此,他请求你对于每一种正整数三元组 $s_1, s_2, s_3$(满足 $s_1 + s_2 + s_3 = n$),判断是否存在一种方案,使得第 $i$ 座城堡的塔数为 $s_i$($1 \le i \le 3$)。如果存在这样的方案,请给出一种将塔分配给三座城堡的方案。
输入格式
输入的第一行包含一个整数 $n$($3 \le n \le 40$),表示塔的数量。塔的编号为 $1$ 到 $n$。
接下来的 $n$ 行,每行包含一座塔的坐标,即两个整数 $x$ 和 $y$($-10^6 \le x, y \le 10^6$)。
如前所述,没有两座塔位于相同的位置,且没有三座塔共线。
输出格式
输出的第一行应包含一个整数 $k$,表示存在解的不同的无序三元组的数量。
接下来的 $k$ 行中,每行应包含对应其中一个三元组的解。每行应包含 $3 + n$ 个由单个空格分隔的整数:$s_1, s_2, s_3, a_{1,1}, \dots, a_{1,s_1}, a_{2,1}, \dots, a_{2,s_2}, a_{3,1}, \dots, a_{3,s_3}$,其中 $a_{i,j}$ 表示第 $i$ 个城堡中第 $j$ 座塔的编号。
每个有解的无序三元组应恰好出现一次,且每个城堡内部塔的顺序可以是任意的。
样例
输入样例 1
7 4 2 2 1 3 4 1 3 3 3 0 4 2 0
输出样例 1
3 1 3 3 7 6 3 4 2 5 1 4 2 1 3 4 5 2 7 1 6 2 2 3 4 5 2 7 1 6 3
说明
有四个可能的正整数三元组,其和为 $7$。对于三元组 $1, 2, 4$,一种解法是将城堡分别选为 $\{6\}$、$\{1, 7\}$ 和 $\{2, 3, 4, 5\}$。三元组 $1, 3, 3$ 和 $2, 2, 3$ 也有解。三元组 $1, 1, 5$ 无解。
注意,对于三元组 $1, 2, 4$,将城堡选为 $\{4\}$、$\{2, 5\}$ 和 $\{1, 3, 6, 7\}$ 不是一个合法的解,因为第三个城堡与第一个和第二个城堡相交。
注意,对于三元组 $1, 1, 5$,将城堡选为 $\{2\}$、$\{7\}$ 和 $\{1, 3, 4, 5, 6\}$ 不是一个合法的解,因为第三个城堡不是凸的。