Statement is not available in English language
D. Контрольная сумма
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Один банк выпускает кредитные карты, у которых номера состоят из $$$n$$$ цифр. При этом номер состоит из $$$2$$$ частей: первые $$$n - 2$$$ цифры — любые, а последние две являются контрольной суммой, которая вычисляется так:

  • Изначально контрольная сумма $$$S$$$ равна $$$0$$$;
  • Для вычисления суммы нужно пройти по первым $$$n - 2$$$ цифрам номера карты слева направо;
  • Если текущая позиция — нечётная (в нумерации с $$$1$$$), то прибавить текущую цифру к $$$S$$$;
  • Если же позиция чётная, то прибавить к $$$S$$$ удвоенную текущую цифру;
  • Тогда последние $$$2$$$ цифры номера карты определяются как две последние цифры числа $$$S$$$ (если $$$S$$$ — однозначное, то добавляется ведущий ноль).
  • Для примера вычисления контрольной суммы обратитесь к примечанию.

Назовём строку из $$$n$$$ цифр корректным номером карты, если последние $$$2$$$ цифры совпадают с контрольной суммой, вычисленной по первым $$$n - 2$$$ цифрам в соответствии с алгоритмом.

Вы записали свой номер карты на бумажке, но вам кажется, что вы где-то ошиблись. Найдите корректный номер карты, который отличается от записанного не более чем в $$$1$$$ цифре, или скажите, что такого номера не существует. Если есть несколько ответов, выведите любой из них.

Входные данные

В первой строке содержится одно число $$$n$$$ ($$$3 \le n \le 10^5$$$) — длина номера карты.

Во второй строке содержится строка из $$$n$$$ цифр — номер, записанный на бумажке. Обратите внимание, что номер карты стоит рассматривать именно как строку, так как она может содержать ведущие нули и быть очень большим числом.

Выходные данные

Если существует корректный номер кредитной карты, который отличается от записанного не более чем в $$$1$$$ символе, в первой строке выведите «YES» (без кавычек). Во второй строке выведите подходящий корректный номер карты.

Если же искомого номера карты не существует, выведите в первой строке «NO» (без кавычек).

Система оценки

В данной задаче $$$20$$$ тестов, помимо тестов из условия, каждый из них оценивается в $$$5$$$ баллов. Результаты работы ваших решений на всех тестах будут доступны сразу во время соревнования.

Решения, корректно работающие при $$$n \le 5$$$, наберут не менее $$$20$$$ баллов.

Решения, корректно работающие при $$$n \le 100$$$, наберут не менее $$$60$$$ баллов.

Примеры
Входные данные
5
26919
Выходные данные
YES
24919
Входные данные
5
21448
Выходные данные
YES
21408
Входные данные
4
9999
Выходные данные
NO
Примечание

В первом примере изначально строка не является корректным номером кредитной карты: контрольная сумма равна $$$2 + 6 \cdot 2 + 9 = 23$$$, а последние два символа строки — 19. Но после изменения второго символа она становится корректной: $$$2 + 4 \cdot 2 + 9 = 19$$$. Существует ещё один корректный ответ: 26519.

Во втором примере контрольная сумма вычисляется так: $$$2 + 1 \cdot 2 + 4 = 8$$$. Значит, можно изменить четвёртый символ, и строка 21408 будет корректным номером кредитной карты.

Для третьего примера не существует корректного номера кредитной карты, который отличается от записанной строки не более чем в одном символе.