C. Уничтожение массива
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вы нашли бесполезный массив целых чисел $$$a$$$ длины $$$2n$$$. Так как он оказался Вам не нужен, Вы решили выкинуть все элементы $$$a$$$.

Это было бы просто, но оказалось, что выкидывать числа надо, соблюдая следующие правила:

  1. Сначала Вы выбираете натуральное число $$$x$$$.
  2. Затем Вы $$$n$$$ раз повторите следующую операцию:
    • выбрать два числа с суммой $$$x$$$
    • выкинуть их из $$$a$$$ и заменить $$$x$$$ на максимальное из этих двух чисел.

Например, если изначально $$$a = [3, 5, 1, 2]$$$, то Вы можете выбрать $$$x = 6$$$ и выкинуть второе и третье число в $$$a$$$, сумма которых равна $$$5 + 1 = 6$$$. После этого $$$x$$$ станет равно $$$5$$$, а в массиве останутся числа $$$3$$$ и $$$2$$$, которые Вы можете выкинуть на следующей операции.

Обратите внимание, что Вы выбираете $$$x$$$ только в начале и не можете изменить его между операциями.

Напишите программу, чтобы определить, как выбросить все элементы $$$a$$$.

Входные данные

В первой строке задано одно целое число $$$t$$$ ($$$1 \leq t \leq 1000$$$) — количество наборов входных данных. Далее следуют описания самих наборов.

В первой строке каждого набора задано одно целое число $$$n$$$ ($$$1 \leq n \leq 1000$$$).

Во второй строке каждого набора задано $$$2n$$$ натуральных чисел $$$a_1, a_2, \dots, a_{2n}$$$ ($$$1 \leq a_i \leq 10^6$$$) — изначальный массив $$$a$$$.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$1000$$$.

Выходные данные

Для каждого набора входных данных в первой строке выведите YES если возможно выкинуть все элементы массива. Иначе выведите NO.

Если Вы вывели YES в следующей строке выведите значение $$$x$$$, которое Вы выбираете в начале. В следующих $$$n$$$ строках выведите по два числа — числа, которые Вы выбираете на очередной операции.

Пример
Входные данные
4
2
3 5 1 2
3
1 1 8 8 64 64
2
1 1 2 4
5
1 2 3 4 5 6 7 14 3 11
Выходные данные
YES
6
1 5
2 3
NO
NO
YES
21
14 7
3 11
5 6
2 4
3 1
Примечание

Первый набор входных данных был описан в условии.

Во втором и третьем наборах входных данных можно показать, что нельзя выкинуть все элементы массива $$$a$$$.