Problem N. Палиндромы
Input file name: standard input
Output file name: standard output
Time limit: 1 s
Memory limit: 256 MB
Будем считать, что строки s и t длины n эквивалентны, если для каждой пары индексов i и j таких, что 1 \le i \le j \le n, подстрока строки s, состоящая из символов с i-го по j-й, является палиндромом тогда и только тогда, когда подстрока строки t, состоящая из символов с i-го по j-й, является палиндромом (если соответствующая подстрока строки s не является палиндромом, то и в строке t она не будет являться палиндромом тоже).
Для заданной строки s необходимо найти количество строк, которые будут ей эквивалентны и иметь такую же длину, как и строка s.
Разрешается использовать все маленькие буквы английского алфавита.

Input

Единственная строка содержит непустую строку s. Гарантируется, что длина строки не превосходит 10^6.

Output

Выведите одно число — ответ на задачу по модулю 1\,000\,000\,007.

Examples

standard inputstandard output
icpc 15600
abacaba 15600
yxxy 650