Attention! Someone has activated the mechanical nanny, and now it is chasing Pin, trying to envelop him with affection and care! In Pin's yard, there are bunkers, and he would like to hide in one of them. However, in each bunker, he has a very important and urgent task to complete.
Pin asks you to help plan a route that allows him to visit each bunker exactly once and return to the starting point. Pin may start from any bunker.
Moreover, since Pin himself wrote the nanny's interception program and assembled its engine, he knows that if he does not run in a straight line between bunkers, or if he passes through the same place twice—that is, if he crosses or touches a segment of the path he has already taken—he will be caught.
The input file contains a description of Pin's yard.
The first line contains an integer (1 \leq n \leq 100000), the number of bunkers in Pin's yard.
The next lines each contain two integers x_i and y_i (|x_i|, |y_i| \leq 10^9), the coordinates of the entrance to the -th bunker. The entrance is so small compared to the yard that it is considered a point. No two bunkers are located at the same point.
In the output file, print a permutation of numbers indicating the order in which Pin should visit the bunkers, or print No solution if there is no route that allows Pin to run without being caught by the nanny.
Example 1