Назовем массив \(a\) уродливым, если в нем есть хотя бы один элемент, который равен сумме всех элементов до него. Если массив не уродливый, назовем его красивым.
Например:
- массив \([6, 3, 9, 6]\) — уродливый: элемент \(9\) равен \(6 + 3\);
- массив \([5, 5, 7]\) — уродливый: элемент \(5\) (второй) равен \(5\);
- массив \([8, 4, 10, 14]\) — красивый: \(8 \ne 0\), \(4 \ne 8\), \(10 \ne 8 + 4\), \(14 \ne 8 + 4 + 10\), значит, ни один элемент не равен сумме всех элементов до него.
Вам дан массив \(a\), для элементов которого выполняется условие \(1 \le a_1 \le a_2 \le \dots \le a_n \le 100\). Вы должны поменять порядок элементов \(a\) так, чтобы получился красивый массив. Обратите внимание, что нельзя ни добавлять новые элементы, ни удалять существующие — вы можете только переставлять элементы массива \(a\). Если массив \(a\) уже красивый, вы можете оставить его без изменений.
Выходные данные
Для каждого набора входных данных выведите ответ следующим образом:
- если нельзя переставить элементы \(a\) так, чтобы он стал красивым, выведите NO;
- иначе в первой строке выведите YES. Во второй строке выведите \(n\) целых чисел — красивый массив, который можно получить, поменяв порядок элементов в \(a\). Если таких массивов несколько, выведите любой из них.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
4 4 3 3 6 6 2 10 10 5 1 2 3 4 5 3 1 4 4
|
YES
3 6 3 6
NO
YES
2 4 1 5 3
YES
1 4 4
|