Codeforces Round 372 (Div. 2) |
---|
Закончено |
Кодер ZS любит читать словарь. Он считает, что слово хорошее, если найдется его подстрока (непрерывный отрезок букв) длины 26 такая, что она содержит каждую букву латинского алфавита ровно по одному разу. В частности, если длина строки строго меньше 26, такой подстроки не существует и строка не является хорошей.
Теперь Кодер ZS сообщил вам слово, в котором некоторые буквы пропущены, так как он забыл их. Он хочет определить, возможно ли вставить пропущенные буквы так, что слово станет хорошим. Если это возможно, ему нужно найти пример такого слова. Поможете ему?
Первая и единственная строка входных данных содержит единственную строку s (1 ≤ |s| ≤ 50 000) — слово, которое помнит Кодер ZS. Каждый символ строки является заглавной буквой латинского алфавита ('A'-'Z') или же является знаком вопроса ('?'), где знаки вопроса означают буквы, которые Кодер ZS вспомнить не может.
Если способа заменить все знаки вопроса заглавными буквами так, что слово станет хорошим, не существует, выведите - 1 в единственной строке.
В противном случае, выведите строку, соответствующую хорошему слову, которое Кодер ZS мог запомнить. Эта строка должна соответствовать строке из входных данных, за исключением знаков вопроса, замененных заглавными буквами латинского алфавита.
Если существует несколько решений, выведите любое из них.
ABC??FGHIJK???OPQR?TUVWXY?
ABCDEFGHIJKLMNOPQRZTUVWXYS
WELCOMETOCODEFORCESROUNDTHREEHUNDREDANDSEVENTYTWO
-1
??????????????????????????
MNBVCXZLKJHGFDSAQPWOEIRUYT
AABCDEFGHIJKLMNOPQRSTUVW??M
-1
В первом примере из условия, ABCDEFGHIJKLMNOPQRZTUVWXYS является правильным ответом, потому что она содержит подстроку длины 26 (в данном случае это вся строка), содержащую все буквы латинского алфавита ровно по одному разу. Заметьте, что существует несколько решений, например ABCDEFGHIJKLMNOPQRSTUVWXYZ или ABCEDFGHIJKLMNOPQRZTUVWXYS.
Во втором примере из условия пропущенных букв нет. Также данная строка не содержит подстроки длины 26, включающую в себя все буквы алфавита, так что ответ равен - 1.
В третьем примере из условия любая строка длины 26, содержащая все буквы латинского алфавита, подходит в качестве ответа.
Название |
---|