Підпослідовності підпослідовностей#9095

Підпослідовності підпослідовностей

0,1 секунди
64 мегабайти
Дуже легка

Вам дано рядок , який складається з маленьких латинських літер. Ваше завдання — знайти кількість гарних непорожніх підпослідовностей цього рядка.

Підпослідовність називається гарною, якщо кожна її непорожня підпослідовність є паліндромом.

Дві підпослідовності вважаються різними, якщо вони отримані видаленням символів за різними індексами. Тобто навіть якщо рядки підпослідовностей співпадають, але індекси видалених символів різні, такі підпослідовності вважаються різними.

Вхідні дані

У першому рядку міститься рядок (1 \leq |s| \leq 10^5), усі символи якого — маленькі латинські літери.

Вихідні дані

Виведіть одне ціле число — кількість гарних непорожніх підпослідовностей рядка по модулю 10^9+7 ().

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Примітка

У першому прикладі є 4 гарні підпослідовності: "a", "b", "c", "d".