CF1474C Array Destruction
题目描述
### 题意简述
你有一个长度为 $2n$ 的无用数组 $a$ ,现在要进行一些操作将数组的所有元素清除:
- 选择一个正整数 $x$。
- 选择 $a$ 数组的任意两个数使得它们的和等于 $x$,并将这两个数从 $a$ 数组中删除。
- 将 $x$ 更改为选择的两个数的最大值。
- 重复第二步直到 $a$ 数组清空。
**注意:$x$ 不能在运算过程中随意更改。**
现在请你输出通过怎样的过程使 $a$ 数组清空。
输入格式
第一行一个正整数 $t$($ 1 \leq t \leq 1000$),表示数据的组数。
接下来 $t$ 组数据。
对于每一组数据,第一行一个正整数 $n$($1 \leq n \leq 1000$),表示 $a$ 数组的长度。
第二行 $2n$ 个正整数,$a_1, a_2, \dots, a_{2n}$($1 \leq a_i \leq 10^6$)表示数组 $a$。
可以保证所有测试用例的 $n$ 的总和不超过 $1000$。
输出格式
对于每一组数据,第一行一个字符串 `YES` 或 `NO`,表示是否可以删除数组中的全部元素。
如果可以删除数组中的全部元素,第二行一个正整数 $x$,表示一开始你选择的数。
并在接下来若干行,每行两个正整数,表示每次删去的两个数。
$\text{by @UperFicial}$
说明/提示
The first test case was described in the statement.
In the second and third test cases, we can show that it is impossible to throw out all elements of array $ a $ .