Олимпиадный тренинг

Задача . E. Восстановление возрастающей последовательности


Петя написал на доске строго возрастающую последовательность целых положительных чисел a1, a2, ..., an. После этого Вася заменил некоторые цифры в числах этой последовательности на знаки вопроса. Таким образом, каждый знак вопроса соответствует ровно одной стертой цифре.

Восстановите последовательность по тому, что осталось на доске.

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

В первой строке входных данных записано целое число n (1 ≤ n ≤ 105) — длина последовательности. Следующие n строк содержат по одному элементу последовательности. Каждый из элементов состоит только из цифр и знаков вопросов. Никакой из элементов не начинается с цифры 0. Каждый из элементов имеет длину от 1 до 8 символов включительно.

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

Если ответ существует, то выведите в первую строку «YES» (без кавычек). Следующие n строк должны содержать последовательность целых положительных чисел — возможный вариант последовательности Пети. Найденная последовательность должна быть строго возрастающей, получена из заданной путем замены каждого знака вопроса на одиночную цифру. Все числа в найденной последовательности должны быть записаны без ведущих нулей. Если решений несколько, выведите любое из них.

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


Примеры
Входные данныеВыходные данные
1 3
?
18
1?
YES
1
18
19
2 2
??
?
NO
3 5
12224
12??5
12226
?0000
?00000
YES
12224
12225
12226
20000
100000

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w644
Комментарий учителя