Вам дан массив из \(n\) целых чисел \(a_1,a_2,\dots,a_n\).
Вы должны создать массив из \(n\) целых чисел \(b_1,b_2,\dots,b_n\) такой, что:
- Массив \(b\) — это перестановка массива \(a\), т.е. он содержит одни и те же значения, и каждое из них встречается одинаковое количество раз в этих массивах. Другими словами, мультимножества \(\{a_1,a_2,\dots,a_n\}\) и \(\{b_1,b_2,\dots,b_n\}\) должны быть равны.
Например, если \(a=[1,-1,0,1]\), то \(b=[-1,1,1,0]\) и \(b=[0,1,-1,1]\) — это перестановки \(a\), но \(b=[1,-1,-1,0]\) и \(b=[1,0,2,-3]\) — это не перестановки \(a\).
- Для всех \(k=1,2,\dots,n\) сумма первых \(k\) элементов \(b\) не равна нулю. Формально, для всех \(k=1,2,\dots,n\) должно выполняться \(\)b_1+b_2+\cdots+b_k\not=0\,.\(\)
Если массив \(b_1,b_2,\dots, b_n\) с необходимыми свойствами не существует, необходимо вывести NO.
Выходные данные
Для каждого набора входных данных, если не существует массива \(b_1,b_2,\dots,b_n\) с требуемыми свойствами, выведите одну строку со словом NO.
В противном случае выведите строку со словом YES, а затем строку с \(n\) целыми числами \(b_1,b_2,\dots,b_n\).
Если существует более одного массива \(b_1,b_2,\dots,b_n\), удовлетворяющего требуемым свойствам, то можно вывести любой из них.
Примечание
Пояснение первого набора входных данных: Массив с нужными свойствами равен \(b=[1,-2,3,-4]\). Для этого массива все выполняется:
- Первый элемент \(b\) равен \(1\).
- Сумма первых двух элементов \(b\) равна \(-1\).
- Сумма первых трех элементов \(b\) равна \(2\).
- Сумма первых четырех элементов \(b\) равна \(-2\).
Пояснение второго набора входных данных: Поскольку все значения в \(a\) равны \(0\), любая перестановка \(b\) массива \(a\) будет иметь все элементы, равные \(0\), и поэтому для нее явно не сможет быть выполнено второе свойство из условия (например, потому что \(b_1=0\)). Следовательно, в данном случае ответом будет NO.
Пояснение третьего набора входных данных:. Массив с нужными свойствами равен \(b=[1, 1, -1, 1, -1]\). Для этого массива все выполняется:
- Первый элемент \(b\) равен \(1\).
- Сумма первых двух элементов \(b\) равна \(2\).
- Сумма первых трех элементов \(b\) равна \(1\).
- Сумма первых четырех элементов \(b\) равна \(2\).
- Сумма первых пяти элементов \(b\) равна \(1\).
Пояснение четвертого набора входных данных: Массив с нужными свойствами равен \(b=[-40,13,40,0,-9,-31]\). Для этого массива все выполняется:
- Первый элемент \(b\) равен \(-40\).
- Сумма первых двух элементов \(b\) равна \(-27\).
- Сумма первых трех элементов \(b\) равна \(13\).
- Сумма первых четырех элементов \(b\) равна \(13\).
- Сумма первых пяти элементов \(b\) равна \(4\).
- Сумма первых шести элементов \(b\) равна \(-27\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
4 4 1 -2 3 -4 3 0 0 0 5 1 -1 1 -1 1 6 40 -31 -9 0 13 -40
|
YES
1 -2 3 -4
NO
YES
1 1 -1 1 -1
YES
-40 13 40 0 -9 -31
|