#CF2038C. 自制矩形

自制矩形

C. 自制矩形
每次测试的时间限制:2 秒
每次测试的内存限制:512 兆字节

你有一个包含 nn 个整数的列表 a1,a2,,ana_1, a_2, \dots, a_n。你需要从列表中挑选 88 个元素,并用它们作为四个点的坐标。
这四个点应是一个矩形(边与坐标轴平行)的四个顶点。
你的任务是选择坐标,使得得到的矩形面积最大。矩形可以是退化的(即面积可以为 00)。
每个整数可以按它在列表中出现的次数使用(或更少)。


输入
第一行包含一个整数 tt1t250001 \le t \le 25000)—— 测试用例的数量。

每个测试用例的第一行包含一个整数 nn8n21058 \le n \le 2 \cdot 10^5)。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n109ai109-10^9 \le a_i \le 10^9)。

输入上的额外限制:所有测试用例的 nn 之和不超过 21052 \cdot 10^5


输出
对于每个测试用例,按如下方式输出答案:

  • 如果无法构造一个满足题目条件的矩形,则打印一行 NONO(大小写不敏感)。
  • 否则,第一行打印 YESYES(大小写不敏感)。
    第二行打印 88 个整数 x1,y1,x2,y2,x3,y3,x4,y4x_1, y_1, x_2, y_2, x_3, y_3, x_4, y_4——矩形的四个顶点的坐标。
    你可以按任意顺序打印顶点。

示例

输入

3
16
-5 1 1 2 2 3 3 4 4 5 5 6 6 7 7 10
8
0 0 -1 2 2 1 1 3
8
0 0 0 0 0 5 0 5

输出

YES
1 2 1 7 6 2 6 7
NO
YES
0 0 0 5 0 0 0 5