Омкар получил сообщение от Антона: «Ваша легенда по задаче 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\) в противном случае.
Выходные данные
Для каждого набора входных данных выведите одну строку, содержащую 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\), то он может сделать это и таким образом, чтобы удовлетворить вышеуказанным ограничениям.
Если существует несколько решений, можно вывести любое.
Примечание
Для первого набора входных данных можно добавить целые числа к \(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\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
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
|