独眼兔

题目描述

太郎有一只特殊的兔子,它只有一只左眼,所以当它移动时是不能向右转弯的。一天,太郎跟独眼兔做一个游戏,太郎在平面内放了 $n$ 个萝卜,每个萝卜有个位置 $(x_i,y_i)$,且任意两个萝卜的 $x_i$,$y_i$ 都是不相同的,独眼兔要去吃这些萝卜。设萝卜 $A(x_i,y_i)$ 是所有萝卜中最小的,那独眼兔会从 $(0,y_i)$ 出发,走向萝卜 $A$,然后开始吃萝卜。当它吃完一个萝卜后,独眼兔会确定下一个萝卜作为目标,然后径直向萝卜走去,当然当它移动的时候是不能向右转弯的。独眼兔还有一个特点,它走过的路径上会留下特殊的气味,所以独眼兔不希望它将要走的路与前面它走过的路相交。太郎想知道独眼兔如何才能吃到最多的萝卜。

输入输出格式

输入格式


第一行是个整数 $n$; 接下来 $n$ 行,每行两个整数。第 $i+1$ 行表示第 $i$ 号萝卜的位置 $(x_i,y_i)$。

输出格式


一行,输出最多能吃到的萝卜数,后面输出吃萝卜的顺序。

输入输出样例

输入样例 #1

10
4 5
9 8
5 9
1 7
3 2
6 3
10 10
8 1
2 4
7 6

输出样例 #1

10 8 7 3 4 9 5 6 2 1 10

说明

- $40\%$ 的数据,$n\le100$; - $100\%$ 的数据,$n\le1000$,$0\lt x_i\le10^4$,$0\lt y_i\le10^4$。