A. Омкар и плохая легенда
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Омкар получил сообщение от Антона: «Ваша легенда по задаче A слишком запутанная. Просто сделайте формальное условие». В связи с этим Омкар дает вам массив $$$a = [a_1, a_2, \ldots, a_n]$$$ из $$$n$$$ попарно различных целых чисел. Массив $$$b = [b_1, b_2, \ldots, b_k]$$$ называется хорошим, если для любых различных элементов $$$b_i, b_j$$$ массива $$$b$$$, $$$|b_i-b_j|$$$ встречается в $$$b$$$ хотя бы один раз. Кроме того, все элементы $$$b$$$ должны быть попарно различными. Можете ли вы добавить несколько (возможно, $$$0$$$) целых чисел в $$$a$$$, чтобы получился хороший массив $$$b$$$ размером не более $$$300$$$? Если $$$a$$$ уже хороший, вы не обязаны добавлять никаких элементов.

Например, массив $$$[3, 6, 9]$$$ является хорошим, поскольку $$$|6-3|=|9-6| = 3$$$, встречается в массиве, и $$$|9-3| = 6$$$, встречается в массиве, тогда как массив $$$[4, 2, 0, 6, 9]$$$ не является хорошим, поскольку $$$|9-4| = 5$$$ не встречается в массиве.

Для целых чисел $$$x$$$ и $$$y$$$, $$$|x-y| = x-y$$$, если $$$x > y$$$ и $$$|x-y| = y-x$$$ в противном случае.

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

Каждый тест содержит несколько наборов входных данных. Первая строка содержит $$$t$$$ ($$$1 \leq t \leq 50$$$), количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$2 \leq n \leq 100$$$) — длину массива $$$a$$$.

Вторая строка каждого набора входных данных содержит $$$n$$$ попарно различных целых чисел $$$a_1, a_2, \cdots, a_n$$$ ($$$-100 \leq a_i \leq 100$$$) — элементы массива $$$a$$$.

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

Для каждого набора входных данных выведите одну строку, содержащую YES, если Омкар может создать хороший массив $$$b$$$ путем добавления целых чисел к $$$a$$$ и NO в противном случае. Регистр каждой буквы не имеет значения, поэтому YEs и nO также будут приняты.

Если первая строка YES, выведите вторую строку, содержащую одно целое число $$$k$$$ ($$$n \leq k \leq 300$$$).

Затем выведите одну строку, содержащую $$$k$$$ попарно различных целых чисел $$$b_1, b_2, \cdots, b_k$$$ ($$$-10^9 \leq b_i \leq 10^9$$$) — элементы хорошего массива $$$b$$$. $$$b_1, b_2, \cdots, b_k$$$ могут быть в любом порядке. Для каждого $$$a_i$$$ из $$$a$$$, $$$a_i$$$ должно хотя бы раз встречаться в $$$b$$$.

Можно показать, что если Омкар может создать такой массив $$$b$$$, то он может сделать это и таким образом, чтобы удовлетворить вышеуказанным ограничениям.

Если существует несколько решений, можно вывести любое.

Пример
Входные данные
4
3
3 0 9
2
3 4
5
-7 3 13 -2 8
4
4 8 12 6
Выходные данные
yes
4
6 0 3 9
yEs
5
5 3 1 2 4
NO
Yes
6
8 12 6 2 4 10
Примечание

Для первого набора входных данных можно добавить целые числа к $$$a$$$, чтобы получить массив $$$b = [3, 0, 6, 9, 3]$$$. Обратите внимание, что $$$|6-3| = |9-6| = |3-0| = 3$$$ и $$$3$$$ встречается в $$$b$$$, $$$|6-0| = |9-3| = 6$$$ и $$$6$$$ встречается в $$$b$$$, а также $$$|9-0| = 9$$$ встречается в $$$b$$$, поэтому $$$b$$$ хороший.

Для второго набора входных данных можно добавить целые числа к $$$a$$$, чтобы получить массив $$$b = [5, 3, 1, 2, 4]$$$. Здесь $$$|2-1| = |3-2| = |4-3| = |5-4| = 1$$$ встречается в $$$b$$$, $$$|3-1| = |4-2| = |5-3| = 2$$$ встречается в $$$b$$$, $$$|4-1| = |5-2| = 3$$$ встречается в $$$b$$$, и $$$|5-1| = 4$$$ встречается в $$$b$$$, поэтому $$$b$$$ является хорошим.

Для четвертого набора входных данных можно добавить целые числа к $$$a$$$, чтобы получить массив $$$b = [8, 12, 6, 2, 4, 10]$$$. Здесь $$$|4-2| = |6-4| = |8-6| = |10-8| = |12-10| = 2$$$ встречается в $$$b$$$, $$$|6-2| = |8-4| = |10-6| = |12-8| = 4$$$ встречается в $$$b$$$, $$$|8-2| = |10-4| = |12-6| = 6$$$ встречается в $$$b$$$, $$$|10-2| = |12-4| = 8$$$ встречается в $$$b$$$, а также $$$|12-2| = 10$$$ встречается в $$$b$$$, поэтому $$$b$$$ хороший.

Можно доказать, что для всех остальных наборов входных данных невозможно получить хороший массив $$$b$$$.