Задача A. Карта Луна

Автор:Антон Карабанов   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  
Максимальный балл:100  

Условие

Алгоритм Луна — алгоритм вычисления контрольной цифры номера пластиковой карты в соответствии со стандартом ISO/IEC 7812. Не является криптографическим средством, а предназначен в первую очередь для выявления ошибок, вызванных непреднамеренным искажением данных (например, при ручном вводе номера карты). Позволяет лишь с некоторой степенью достоверности судить об отсутствии ошибок в блоке цифр, но не даёт возможности нахождения и исправления обнаруженной неточности.

Алгоритм разработан сотрудником фирмы IBM Хансом Питером Луном, описан в США в 1954 году, патент получен в 1960 году.

В настоящее время алгоритм является публичным достоянием. Рассмотрим его упрощённую версию.

  1. Цифры проверяемой последовательности нумеруются слева направо, начиная с 1.
  2. Цифры, оказавшиеся на чётных местах, остаются без изменений.
  3. Цифры, стоящие на нечётных местах, умножаются на 2.
  4. Если в результате такого умножения возникает число больше 9, оно заменяется суммой цифр получившегося произведения — однозначным числом, то есть цифрой.
  5. Все полученные в результате преобразования цифры складываются. Если сумма кратна 10, то исходные данные верны.

По данному шестнадцатизначному числу n, определите, может ли оно являться корректным номером банковской карты?

Формат входных данных

Единственная строка входных данных содержит одно натуральное шестнадцатизначное число n.

Обратите внимание, что при заданных ограничениях для хранения данных необходимо использовать 64-битный тип данных, например long long в C++, int64 в Free Pascal, long в Java.

Формат выходных данных

Выведите Yes или No — ответ на вопрос задачи.

Ограничения

1015 ≤ n ≤ 1016 − 1

Система оценки и описание подзадач

Баллы за каждый тест начисляются независимо.

Пояснение к примеру

В примере дано n = 4561261212345464

Первая цифра 4 стоит на нечётной позиции. Удваиваем её: 4 × 2 = 8. Результат не превышает 9.

Вторая цифра 5 стоит на чётной позиции. Не изменяем её.

Третья цифра 6 стоит на нечётной позиции. Удваиваем её: 6 × 2 = 12. Результат превышает 9, складываем цифры двузначного числа: 1 + 2 = 3.

Четвёртая цифра 1 стоит на чётной позиции. Не изменяем её.

...

Шестнадцатая цифра 4 стоит на чётной позиции. Не изменяем её.

Складываем все получившиеся цифры: 8 + 5 + 3 + 1 + 4 + 6 + 2 + 2 + 2 + 2 + 6 + 4 + 1 + 4 + 3 + 4 = 57. Сумма не кратна 10.

Примеры тестов

Стандартный вход Стандартный выход
1
4561261212345464
No

0.497s 0.122s 13