void main(){ import std.stdio, std.string, std.conv, std.algorithm; auto s=readln.chomp.to!(char[]); const long mod=1_000_000_000+7; long fun(char[] t){ auto ret=1; foreach(i; 0..(t.length/2)){ if(t[0..(i+1)]==t[($-i-1)..$]){ (ret+=fun(t[(i+1)..($-i-1)]))%=mod; } } return ret; } writeln(fun(s)); } void rd(T...)(ref T x){ import std.stdio, std.string, std.conv; auto l=readln.split; assert(l.length==x.length); foreach(i, ref e; x){ e=l[i].to!(typeof(e)); } }