#118. 直线牛

直线牛

附加文件

Description

二维平面上有 N 头直线牛在吃草。牛的编号为 1 ~ N。之所以叫直线牛,是因为每头牛都用一条直线 y = kx + b 表示。不存在两头重合的直线牛。

FJ 正站在 y 轴的最顶端(y 轴无穷远处)放牛。FJ 的视力非常好,他可以看到无穷远处。但他无法透视。有的时候,一头直线牛可能会挡住另外一头直线牛。

直线牛和直线牛相交,会把直线牛分成若干个线段牛或射线牛。不管是线段牛还是射线牛,只要一头直线牛的任意一段能被看到,就认为这头牛可以被看到。注意:如果只能看到一头直线牛上的一个点,则不能认为这头牛可以被看到。

问,FJ 可以看到哪些牛?请把他可以看到的牛的编号从小到大输出。

Input

第一行:一个整数 N

接下来的 N 行,依次给出 1 ~ N 号牛的直线表示:每行两个整数 k b

Output

一行,按从小到大的顺序依次输出 FJ 可以看到的牛的编号。

Sample Input

3
-1 0
1 0
0 0

Sample Output

1 2

Data Size

0 < N < 50000,|k|,|b|<=500000