I - ★★平形四边行★★
时间限制: 1000ms
空间限制: 256MB
题目描述
$Isabella$ 非常喜欢四边形,尤其是较为特殊的平行四边形。
众所周知,两组对边分别平行且相等的四边形是平行四边形。$Isabella$ 可以很轻松地从平面中找到 $4$ 个不同的点,使它们能够围成一个平行四边形,但是她并不满足于此。如果是给定的若干个点,再想从中找到满足条件的 $4$ 个点,则会变得十分棘手。$Isabella$ 是一个不喜欢麻烦的人,她定义了一种新规则,两组对边分别相等的图形称为“平形四边行”,即使四个顶点可能共线甚至重合。这看起来似乎少了一些限制,但 $Isabella$ 依然相信这并不是一个简单的问题。
$Isabella$ 想知道,在平面内给定的若干个点中,是否存在 $4$ 个不同的点能够构成“平形四边行”。(即使是两个坐标完全相同的点,只要它们的下标不同,$Isabella$ 就认为这两个点是不同的。例如,即使 $x_{i}=x_{j},y_{i}=y_{j}$,但只要 $i \neq j$,那么这两个点就被认为是不同的)
输入描述:
第一行一个整数 $n (1 \leq n \leq 10^{5})$,表示平面中点的个数;
接下来 $n$ 行,第 $i$ 行两个整数$x_{i},y_{i} \; (-1000 \leq x_{i},y_{i} \leq 1000)$,表示第 $i$ 个点的坐标。
输出描述:
如果存在满足条件的四个点,先在第一行输出 $YES$,然后在第二行依次输出这四个点的下标(没有顺序),如果有多种答案,你可以输出其中任意一种;如果不存在满足条件的四个点,直接输出一行 $NO$。
示例1
输入
6
270 620
-844 929
326 848
129 -821
242 344
-809 -158
输出
NO
说明
在样例一中,不存在可以围成一个“平形四边行”的四个点。
示例2
输入
10
-832 178
-988 974
-534 819
-24 -561
-990 -387
-788 755
-980 -698
-692 -887
-976 997
-312 -372
输出
YES
4 7 8 10
说明
在样例二中,4,7,8,10 四个点可以围成一个“平形四边行”。