Фінансова грамотність
Обмеження: 2 сек., 512 МіБ
Марічка тільки-но виготовила собі нову банківську картку, а вже планує здійснити багато покупок. Та вона переживає, що банк вважатиме її трансакції підозрілими і заблокує їй картку.
Зеник, не для чужих вух (нікому не відомо, звідки він сам про це знає), розказав Марічці, як влаштована система перевірки трансакцій на підозрілість. Виявляється, що після кожної покупки банк рахує суму витрачених коштів і перевіряє, чи сума непарна. Якщо сума непарна — все гаразд, можна і далі користуватися карткою. Якщо ж сума парна — банк вважає останню трансакцію підозрілою і блокує картку.
Марічка планує \(n\) покупок, вартістю \(a_1, a_2, \dots, a_n\) у будь-якому порядку. Допоможіть їй визначити порядок у якому потрібно здійснювати покупки, щоб її картку не заблокували. Або скажіть, що це зробити неможливо.
Вхідні дані
У першому рядку задано одне ціле число \(n\) — кількість покупок, які планує зробити Марічка.
У другому рядку задано \(n\) натуральних чисел \(a_i\) — вартість \(i\)-ї покупки.
Вихідні дані
У першому рядку виведіть NO, якщо неможливо виконати
покупки так, щоб сума витрачених коштів після кожної з них була
непарною, або YES, якщо це можливо зробити.
Якщо відповідь YES, то виведіть у другому рядку \(n\) чисел. Вартості покупок у порядку, в
якому їх варто здійснювати.
Обмеження
\(1 \le n \le 10^5\),
\(1 \le a_i \le 10^9\).
Приклади
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 2 4 7 | YES 7 4 |
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 7 4 77 47 44 74 7 4 | NO |
Надіслати розв'язок
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|