给定平面上的 $n$ 个点,其中任意三点不共线。你可以选择这些点的一个非空子集,并为该子集选择一种排列顺序。如果选定的有序子集为 $p_0, p_1, \dots, p_{k-1}$,我们要求对于 $1 \le i \le k+1$,角 $\angle p_{i-1}p_i p_{i+1}$ 在 $i$ 递增的过程中顺时针和逆时针交替出现。在角中点的标记上,应取下标模 $k$ 的值。注意 $k$ 必须为偶数,否则由于奇偶性原因这是不可能的。这样的有序点集被称为一个交替环(alternating cycle)。
你需要找到包含点数最少的交替环,并将其输出;如果不存在这样的环,则报告无解。
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 200\,000$),表示输入点的数量。 接下来的 $n$ 行,每行包含两个整数 $x$ 和 $y$ ($0 \le x, y \le 10^9$),表示点的坐标。 保证所有点互不相同,且保证任意三点不共线。
输出格式
如果不存在交替环,输出 $-1$。否则,输出 $k$,即环中点的数量。在接下来的行中按顺序输出环上的点。 在接下来的 $k$ 行中,每行输出两个整数 $x$ 和 $y$ ($0 \le x, y \le 10^9$),表示交替环中点的坐标。 这些点应为输入点的一个子集,并且它们应按输入顺序构成一个交替环。 如果存在多个达到最小 $k$ 的解,输出其中任意一个即可。
样例
样例输入 1
6 10 15 20 15 15 23 0 31 15 0 30 30
样例输出 1
6 0 31 10 15 15 0 20 15 30 30 15 23
样例输入 2
4 0 0 0 1 1 0 1 1
样例输出 2
-1
说明
样例 1 的示意图,展示了一个长度为 6 的交替环,用直线段连接。