Sizə kiçik latın hərflərindən ibarət bir s sətri verilir. Sizin vəzifəniz bu sətrin gözəl və boş olmayan alt ardıcıllıqlarının sayını tapmaqdır.
Alt ardıcıllıq gözəl adlanır, əgər onun bütün boş olmayan alt ardıcıllıqları palindromdursa.
İki alt ardıcıllıq fərqli sayılır, əgər onlar müxtəlif indekslərdəki simvolları silməklə əldə edilə bilər. Yəni, hətta nəticə ardıcıllıqlarının sətirləri eyni olsa belə, silinmiş simvolların indeksləri fərqlidirsə, bu alt ardıcıllıqlar fərqli sayılır.
Birinci sətrdə s sətri verilir (1 \leq |s| \leq 10^5), burada bütün simvollar kiçik latın hərfləridir.
Bir tam ədəd çap edin — s sətrinin gözəl və boş olmayan alt ardıcıllıqlarının sayını 10^9+7 () modulu ilə çıxarın.
Nümunə 1
Nümunə 2
Birinci nümunədə 4 gözəl alt ardıcıllıq var: "a", "b", "c", "d".