Donghyun recently bought a square-shaped tablecloth. There are N dots on the cloth, and the dots can be seen from both sides of the cloth. Donghyun thought that the tablecloth can be made more beautiful, so he decided to decorate the cloth with sewing.
For convenience, let's assume that each dot is a point on the xy-plane and the dots are numbered from 1 to N. Dot i (1≤i≤N) is placed at coordinate (x_i,y_i). No two dots have the same coordinates. A sewing sequence is an integer sequence s_i of length k≥2 satisfying 1≤s_i≤N (1≤i≤k) and s_i=s_i+1 (1≤i≤k−1).
The sequence draws edges on the cloth per the following rules:
Donghyun wants to make a \textbf{beautiful pattern} on the tablecloth, which is defined as the following:
Donghyun is very busy, so he wants to finish his sewing job as quickly as possible. In other words, over all sewing sequences that produces a beautiful pattern, Donghyun decides to choose the shortest such sequence. Your job is to find such a sequence.
Note that Donghyun wants to minimize the length of the sewing sequence itself, not the sum of the lengths of the edges he draws.
On the first line, a single integer N is given. (2≤N≤1,000)
For each of the next N lines, two integers x_i and y_i are given, which means dot i is placed at coordinate (x_i,y_i). (1≤x_i,y_i≤109)
No two dots are at the same coordinates.
On the first line, output a positive integer k, the length of the shortest sewing sequence that produces a beautiful pattern.
On the next line, output s_1, s_2, ⋯, s_k, the actual sewing sequence.
It can be proven that, for every possible input, there exists a sewing sequence that produces a beautiful pattern.