长期以来,Bytopia 岛一直由公正的国王 Byteasar 统治。但在国王突然去世后,他的两个双胞胎儿子——Biteon 和 Byteon——无法就谁继承王位达成一致。因此,他们决定将岛屿划分为两个省份,分别独立统治。
在矩形地图上,Byteotia 的形状是一个拥有 $N$ 个顶点的多边形。多边形的每一条边都平行于地图的边界,且任意两条相邻的边都互相垂直。除了相邻边的公共端点外,多边形的任何边都不与其他边相交或接触。
Biteon 和 Byteon 希望使用一条完全位于多边形内部且平行于地图边界的线段,将该多边形划分为两个全等的多边形。(如果一个多边形可以通过反射、旋转和平移的组合变换为另一个多边形,则称这两个多边形是全等的。)多边形顶点以及划分线段端点的坐标均为整数。
国王的儿子们请求你验证这样的划分是否可行。
任务
给定岛屿的形状,确定是否可以用一条水平或垂直的线段将其划分为两个全等的部分。如果可以,找到这样的一条线段。
输入格式
输入的第一行包含一个整数 $N$,表示顶点的数量。接下来的 $N$ 行中,第 $i$ 行包含一对整数 $X_i$ 和 $Y_i$($0 \le X_i, Y_i \le 10^9$),表示第 $i$ 个顶点的坐标。
顶点是按顺序给出的,即线段 $(X_1, Y_1) - (X_2, Y_2)$、$(X_2, Y_2) - (X_3, Y_3)$、$\dots$、$(X_{N-1}, Y_{N-1}) - (X_N, Y_N)$ 和 $(X_N, Y_N) - (X_1, Y_1)$ 均为多边形的边。此外,任意两条相邻的线段都互相垂直。
输出格式
你的程序应该输出单行。如果可以使用端点为 $(x_1, y_1)$ 和 $(x_2, y_2)$ 的水平或垂直线段将岛屿划分为全等的两部分,则输出 $4$ 个由空格隔开的整数 $x_1, y_1, x_2$ 和 $y_2$。必须满足 $x_1 = x_2$ 或 $y_1 = y_2$。该线段必须完全包含在多边形内部,且只有其端点可以接触多边形的边界。
如果找不到合适的划分,输出单个单词 NO。
样例
输入样例 1
10 0 0 1 0 1 1 3 1 3 5 2 5 2 3 1 3 1 2 0 2
输出样例 1
1 2 3 2
说明 1
注意 3 2 1 2 也是一个合法解。
输入样例 2
6 0 0 1 0 1 1 2 1 2 2 0 2
输出样例 2
NO
说明 2
在这种情况下,无法将岛屿划分为两个全等的部分。
子任务
- 子任务 1(12 分):$4 \le N \le 100\,000$。任何划分多边形的水平或垂直直线都恰好将其划分为两个部分。
- 子任务 2(15 分):$4 \le N \le 200$。
- 子任务 3(23 分):$4 \le N \le 2\,000$。
- 子任务 4(50 分):$4 \le N \le 100\,000$。