You are given $$$n$$$ points in the plane, with no $$$3$$$ points collinear. You can choose some non-empty subset of the points, and choose an order for this subset. If the points in your chosen ordered subset are $$$p_0,p_1, \dots, p_{k-1}$$$, we want for $$$1 \leq i \leq k+1$$$, that the angles $$$ \angle p_{i-1} p_{i} p_{i+1}$$$ are alternating clockwise and counterclockwise in increasing order of $$$i$$$. In the labeling of the points in the angle, you should take the indices $$$\mod k$$$. Note that $$$k$$$ must be even, otherwise due to parity it is impossible. Such an ordered subset of points is called an alternating cycle.
You have to find the alternating cycle with the smallest number of points in it, and print it to the output, or report no such cycle exists.
The first line of input contains a single integer, $$$n$$$ ($$$1 \leq n \leq 200\,000$$$) — the number of points in the input.
Each of the next $$$n$$$ lines contains the description of a point. Each line contains two integers $$$x$$$ and $$$y$$$, ($$$0 \leq x,y \leq 10^9$$$) — the coordinates of the point.
It is guaranteed that the points are distinct, and it is also guaranteed no $$$3$$$ points are collinear.
Output $$$-1$$$ if there is no alternating cycle. Otherwise, output $$$k$$$, the number of points in the cycle. On the following lines output the points on the cycle in order.
On each of the following $$$k$$$ lines, print two integers $$$x$$$ and $$$y$$$, ($$$0 \leq x,y \leq 10^9$$$) — the coordinates of a point in the alternating cycle.
The points should be a subset of the input points, and they should form an alternating cycle in the order of the input.
If there are multiple solutions which achieve the minimum $$$k$$$, any of these solutions is accepted.
610 1520 1515 230 3115 030 30
6 0 31 10 15 15 0 20 15 30 30 15 23
40 00 11 01 1
-1
Illustration of sample $$$1$$$, with a possible alternating cycle of length $$$6$$$ drawn with straight line segments.
| Name |
|---|


