Подsətir palindromu#11524

Подsətir palindromu

6 saniyə
768 meqabayt
Çox çətin

Səxavətli bir şəxs sizə kiçik latın hərflərindən ibarət sıranı təqdim edib. Sizdən xahiş olunur ki, -ə dəqiq kiçik latın hərfi əlavə edərək palindrom yaradın. Palindrom, hər iki istiqamətdə eyni oxunan sıradır. Məsələn, "noon", "testset" və "a" palindromlardır, lakin "test" və "codeforces" deyil.

Siz istənilən kiçik latın hərfini seçib, hər birini -in istənilən mövqeyinə, xüsusilə -in əvvəlinə və ya sonuna əlavə edə bilərsiniz. Dəqiq hərf əlavə etmək lazımdır, hətta -i daha az hərf əlavə edərək palindroma çevirmək mümkün olsa belə.

Bu üsulla əldə edilə bilən palindromların sayını modulu ilə tapın.

Giriş

Birinci sətirdə s~(1 \le |s| \le 200) sıranı oxuyun. -dəki hər bir simvol kiçik latın hərfidir.

İkinci sətirdə tam ədəd n~(1 \le n \le 10^9) verilib.

Çıxış

Əldə edilə bilən palindromların sayını modulu ilə çıxarın.

Nümunələr

Birinci nümunədə "revive" sonuna 'r' əlavə edərək "reviver" palindromunu əldə etmək olar.

İkinci nümunədə aşağıdakı palindromu əldə etmək olar: "adada", "adbda", ..., "adzda", "dadad" və "ddadd".

Nümunə 1

Loading
Loading

Nümunə 2

Loading
Loading