Фінансова грамотність
Limits: 2 sec., 512 MiB
Марічка тільки-но виготовила собі нову банківську картку, а вже планує здійснити багато покупок. Та вона переживає, що банк вважатиме її трансакції підозрілими і заблокує їй картку.
Зеник, не для чужих вух (нікому не відомо, звідки він сам про це знає), розказав Марічці, як влаштована система перевірки трансакцій на підозрілість. Виявляється, що після кожної покупки банк рахує суму витрачених коштів і перевіряє, чи сума непарна. Якщо сума непарна — все гаразд, можна і далі користуватися карткою. Якщо ж сума парна — банк вважає останню трансакцію підозрілою і блокує картку.
Марічка планує \(n\) покупок, вартістю \(a_1, a_2, \dots, a_n\) у будь-якому порядку. Допоможіть їй визначити порядок у якому потрібно здійснювати покупки, щоб її картку не заблокували. Або скажіть, що це зробити неможливо.
Input
У першому рядку задано одне ціле число \(n\) — кількість покупок, які планує зробити Марічка.
У другому рядку задано \(n\) натуральних чисел \(a_i\) — вартість \(i\)-ї покупки.
Output
У першому рядку виведіть NO, якщо неможливо виконати
покупки так, щоб сума витрачених коштів після кожної з них була
непарною, або YES, якщо це можливо зробити.
Якщо відповідь YES, то виведіть у другому рядку \(n\) чисел. Вартості покупок у порядку, в
якому їх варто здійснювати.
Constraints
\(1 \le n \le 10^5\),
\(1 \le a_i \le 10^9\).
Samples
| Input (stdin) | Output (stdout) |
|---|---|
| 2 4 7 | YES 7 4 |
| Input (stdin) | Output (stdout) |
|---|---|
| 7 4 77 47 44 74 7 4 | NO |
Submit a solution
| Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
|---|
| Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
|---|