P0957

[HNOI2008]水平可见直线

[HNOI2008]水平可见直线

在 xOyxOy 直角坐标平面上有 nn 条直线 L1,L2,…,LnL_1,L_2,\ldots,L_n。若从 yy 值趋于正无穷大处向下观察时,能够看到直线 LiL_i 的某个子线段,则称 LiL_i 是可见的,否则称其为被覆盖的。

例如,有以下直线:

L1:y=x,L2:y=−x,L3:y=0。L_1:y=x,\qquad L_2:y=-x,\qquad L_3:y=0。

其中,L1L_1 和 L2L_2 是可见的,L3L_3 是被覆盖的。

给定 nn 条形如 y=Aix+Biy=A_ix+B_i 的直线,且任意两条直线均不重合。请找出所有可见的直线。

输入格式

第一行包含一个整数 nn,表示直线的数量。

接下来 nn 行,第 ii 行包含两个整数 AiA_i 和 BiB_i,表示直线 LiL_i 的方程为 y=Aix+Biy=A_ix+B_i。

输出格式

按照编号从小到大的顺序,输出所有可见直线的编号,相邻编号之间用一个空格隔开。

样例输入

3
-1 0
1 0
0 0

样例输出

1 2

数据范围

  • 1≤n≤5×1041\le n\le 5\times 10^4;
  • ∣Ai∣,∣Bi∣≤5×105|A_i|,|B_i|\le 5\times 10^5;
  • 任意两条直线均不重合。

来源与许可

本题为 HNOI 2008 试题「水平可见直线」,题面与测试数据整理自 BZOJ。

样例 1

输入

3
-1 0
1 0
0 0

输出

1 2