Вы нашли бесполезный массив целых чисел \(a\) длины \(2n\). Так как он оказался Вам не нужен, Вы решили выкинуть все элементы \(a\).
Это было бы просто, но оказалось, что выкидывать числа надо, соблюдая следующие правила:
- Сначала Вы выбираете натуральное число \(x\).
- Затем Вы \(n\) раз повторите следующую операцию:
- выбрать два числа с суммой \(x\)
- выкинуть их из \(a\) и заменить \(x\) на максимальное из этих двух чисел.
Например, если изначально \(a = [3, 5, 1, 2]\), то Вы можете выбрать \(x = 6\) и выкинуть второе и третье число в \(a\), сумма которых равна \(5 + 1 = 6\). После этого \(x\) станет равно \(5\), а в массиве останутся числа \(3\) и \(2\), которые Вы можете выкинуть на следующей операции.
Обратите внимание, что Вы выбираете \(x\) только в начале и не можете изменить его между операциями.
Напишите программу, чтобы определить, как выбросить все элементы \(a\).
Выходные данные
Для каждого набора входных данных в первой строке выведите YES если возможно выкинуть все элементы массива. Иначе выведите NO.
Если Вы вывели YES в следующей строке выведите значение \(x\), которое Вы выбираете в начале. В следующих \(n\) строках выведите по два числа — числа, которые Вы выбираете на очередной операции.
Примечание
Первый набор входных данных был описан в условии.
Во втором и третьем наборах входных данных можно показать, что нельзя выкинуть все элементы массива \(a\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
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
|