EduBrick

Стирание против ошибки

1000 мс · 256 МБ · всё или ничего

Это задача с двойным запуском.

При первом запуске вам дают строки из нулей и единиц. Для каждой выведите закодированный вид — строку не длиннее исходной плюс один символ.

Между запусками жюри стирает в каждой закодированной строке ровно один символ, заменяя его на ?. При втором запуске восстановите исходные строки.

Формат ввода

При первом запуске в первой строке записано число 1, во второй — количество строк tt (1≤t≤3001 \le t \le 300). Далее tt строк из нулей и единиц длиной до 1000; суммарная длина не превосходит 3⋅1053 \cdot 10^5.

При втором запуске в первой строке записано число 2, далее — ваши строки, в каждой один символ заменён на ?.

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

При первом запуске выведите tt закодированных строк, каждая не длиннее исходной плюс один символ.

При втором запуске выведите tt восстановленных строк.

Примеры

ввод
1
1
0110
вывод
01100
ввод
2
1
01?00
вывод
0110
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.