Вам дана строка $$$s$$$ длины $$$n$$$, состоящая из строчных латинских букв.
Вам разрешено заменить не более одного символа строки на произвольную строчную латинскую букву.
Выведите лексикографически минимальную строку, которая получается из исходной и содержит максимальное количество палиндромов в качестве подстрок. Если какой-то палиндром входит как подстрока несколько раз, он учитывается столько же раз, сколько встречается в строке.
Строка $$$a$$$ лексикографически меньше строки $$$b$$$, если и только если выполняется один из следующих пунктов:
В первой строке записано одно целое число $$$n$$$ ($$$1 \leq n \leq 3 \cdot 10^5$$$) — количество символов в строке.
Во второй строке задана сама строка $$$s$$$ из $$$n$$$ строчных латинских букв
В первой строке выведите одно целое число — максимальное количество подстрок-палиндромов, которое может быть у строки, которую можно получить, применив операцию не более одного раза.
Во второй строке выведите строку, которую можно получить из $$$s$$$ и которая содержит максимальное количество подстрок-палиндромов. Если таких строк несколько, выведите лексикографически минимальную.
5aabaa
15 aaaaa
5aaaaa
15 aaaaa
4awoo
7 aooo
Название |
---|