Феникс собрал \(n\) кусков золота и теперь хочет взвесить их вместе, чтобы почувствовать себя богатым. Все веса различны и \(i\)-й кусок золота весит \(w_i\). Феникс будет класть свои \(n\) кусков на весы по одному.
У весов есть необычный дефект: если суммарный вес на них равен \(x\), они взорвутся. Может ли Феникс положить все его \(n\) кусков золота на весы в каком-то порядке, чтобы весы не взорвались в процессе? Если да, помогите ему определить какой-нибудь порядок.
Говоря формально, переставьте элементы массива \(w\) так, чтобы для каждого \(i\) \((1 \le i \le n)\), \(\sum\limits_{j = 1}^{i}w_j \ne x\).
Выходные данные
Для каждого набора входных данных, если Феникс не может положить все \(n\) кусков избежав взрыва, выведите NO. В противном случае выведите YES и массив \(w\) в соответствующем порядке. Если существует несколько решений, выведите любое из них.
Примечание
В первом наборе входных данных, Феникс кладет на весы сначала кусок золота веса \(3\), потом кусок веса \(2\), и наконец кусок веса \(1\). На весах сначала будет суммарный вес \(3\), потом — \(5\), затем — \(6\). Весы не взорвутся, потому что вес на них никогда не равен \(2\).
Во втором наборе, весы покажут \(8\), \(9\), \(11\), \(14\) и \(18\) — ничего равного \(3\).
В третьем наборе, Феникс должен положить кусок весом \(5\) на весы, и весы в любом случае взорвутся.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
3 3 2 3 2 1 5 3 1 2 3 4 8 1 5 5
|
YES
3 2 1
YES
8 1 2 3 4
NO
|