eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Фабрика паліндромів

Фабрика паліндромів

Розглянемо довільний рядок \textbf{g}. Будемо називати цей рядок \textit{генератором паліндромів}. Множина паліндромів \textbf{P(g)}, які генеруються цим рядком визначаться наступним чином. Нехай довжина рядка рівна \textbf{n}. Для усіх \textbf{i} від \textbf{1} до \textbf{n} в \textbf{P(g)} включаються рядки \textbf{g\[1..i\]g\[1..i\]^r} и \textbf{g\[1..i\]g\[1..i-1\]^r}, де \textbf{α^\{r \}}позначає \textbf{α}, записаний у зворотному порядку. Наприклад, якщо \textbf{g=}"\textbf{olymp}", то \textbf{P(g)=}\{"\textbf{oo}", "\textbf{o}", "\textbf{ollo}", "\textbf{olo}", "\textbf{olyylo}", "\textbf{olylo}", "\textbf{olymmylo}", "\textbf{olymylo}", "\textbf{olymppmylo}", "\textbf{olympmylo}"\}. \includegraphics{https://static.e-olymp.com/content/a0/a01d6fe5baf86fd274dfc5600a30f76cc672dd3c.jpg} Для заданого генератора паліндромів \textbf{g} та рядка \textbf{s} потрібно знайти кількість входжень рядків з \textbf{P(g)} у \textbf{s} як підрядків. А саме, потрібно знайти кількість таких пар \textbf{(i, j)}, що \textbf{s\[i..j\] P(g)}. \InputFile Перший рядок вхідного файлу містить рядок \textbf{g}. Другий рядок вхідного файлу містить \textbf{s}. Обидва рядки непорожні і мають довжину не більше \textbf{100000} символів. \OutputFile \includegraphics{https://static.e-olymp.com/content/a0/a01d6fe5baf86fd274dfc5600a30f76cc672dd3c.jpg} Виведіть у вихідний файл кількість таких пар \textbf{(i, j)}, що \textbf{s\[i..j\] P(g)}.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
olymp
olleolleolympmyolylomylo
Вихідні дані #1
7