C. В поисках палиндрома ограничение по времени на тест1 секунда
ограничение по памяти на тест256 мегабайт
вводстандартный ввод
выводстандартный вывод
У друга Поликарпа завтра день рождения. Недолго думая, Поликарп решил подарить ему палиндром, состоящий из строчных букв латинского алфавита. Поликарп знает, что его друг любит некоторые буквы, в количестве K штук. Поликарпу очень важен его друг, поэтому он хочет подарить ему самый красивый палиндром, содержащий хотя бы одну его любимую букву. Будем считать, что один палиндром красивее другого, если в нем есть любимая буква, стоящая в алфавите позже, чем все любимые буквы второго палиндрома.
В магазине палиндромов продавец выдал Поликарпу строку S длиной в N символов, из которой он может выбрать любую подстроку, являющеюся палиндромом. Гарантируется, что в данной строке содержится хотя бы один палиндром.
Поликарпу найти самый лучший палиндром. Если в строке S нет палиндромов, содержащих любимые буквы, то выведите любой палиндром, который является подстрокой S.
Определение: Палиндром — строка, одинаково читающаяся в обоих направлениях.
Входные данные
Первая строка содержит два целых числа N и K (1≤N≤105,1≤K≤26) — длину строки S и количество любимых букв.
Вторая строка содержит строку, состоящую из K строчных латинских различных букв — любимые буквы друга Поликарпа.
Третья строка содержит строку S, состоящую из N строчных латинских букв.
Выходные данные
Выведите одну единственную строку — самый лучший палиндром, который можно получить из строки S.
Если существует несколько палиндромов, удовлетворяющих условию, то выведите любой из них.
Система оценки
Подзадачи Ограничения Необходимые подзадачи Тип проверки
1 1≤N≤105 , 1≤K≤26 100 — Каждый тест
Примеры
входные данныеСкопировать
4 1
g
gmgi
выходные данныеСкопировать
gmg
входные данныеСкопировать
8 3
bcn
ianfffnb
выходные данныеСкопировать
nfffn
входные данныеСкопировать
16 7
codevka
cejecgaagdeakvka
выходные данныеСкопировать
akvka