Palindromy

Napisz program, który dla danego słowa, złożonego wyłącznie z małych liter alfabetu angielskiego, policzy liczbę jego podsłów, które są palindromami (dwa podsłowa uważamy za różne, jeżeli różnią się położeniem w słowie). Podsłowem słowa nazywamy dowolny spójny jego fragment.

Zadanie

Napisz program, który:

Wejście

W pierwszym i jedynym wierszu wejścia znajduje się jedno słowo, które ma co najmniej jedną i co najwyżej 500000 liter.

Wyjście

W pierwszym i jedynym wierszu wyjścia należy wypisać liczbę podsłów słowa wejściowego, które są palindromami.

Przykład

Dla danych wejściowych:

abaab

Poprawnym wynikiem jest:

8

Te palindromy to: (1,1), (2,2), (3,3), (4,4), (5,5), (1,3), (3,4) i (2,5) - liczby w tych parach oznaczają numery początkowych i końcowych liter wybieranych podsłów.