eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Неправильне додавання

Неправильне додавання

Ліміт часу 2 секунди
Ліміт використання пам'яті 64 MiB

Володя написав програму, яка додає в стовбчик два числа. На жаль, він не разібрався, як вірно переносити одиницю з одного разряду в наступний. Тому програма стала виконуватись наступним чином. Спочатку вона додає останні цифри обох чисел і записує результат, як у випадку, коли він одноцифровий, так і у випадку, якщо він двоцифровий. Потім програма додає передостанні цифри обох чисел і результат додавання дописує ліворуч до результату попереднього додавання. Далі процес повторюється для всіх розрядів. Якщо в одному числі цифр менше, ніж у другому, то програма розміщує нулі у відповідних розрядах більш короткого числа.

Федір хоче довести Володі, що його спосіб додавання не має властивості асоціативності. Зокрема, Федір стверджує, що існує три числа, для яких важливий порядок, в якому їх додають. Федір навів навіть приклад трьох таких чисел.

Потрібно написати програму, яка допоможе Федору і Володі визначити, чи вірне твердження, що, додаючи задані три числа у різному порядку, можна отримати різні суми.

Вхідні дані

Вхідний файл містить в одному рядку три цілих числа a, b і c (1a, b, c1 000 000). Всі числа у рядку відокремлені пропусками.

Вихідні дані

У перший рядок вихідного файлу потрібно вивести слово YES, якщо дані три числа можна додати різними способами і отримати різні суми. В іншому випадку потрібно вивести слово NO.

У наступних рядках вихідного файлу потрібно вивести всі можливі суми, які можна отримати, додаючи числа a, b і c. Суми потрібно виводити по одній у рядку і в порядку їх зростання.

Приклад

Вхідні дані #1
1 1 1
Вихідні дані #1
NO
3