eolymp
bolt
Try our new interface for solving problems
Problems

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

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

Рассмотрим произвольную строку \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)}.
Time limit 1 second
Memory limit 64 MiB
Input example #1
olymp
olleolleolympmyolylomylo
Output example #1
7