#include #include #include const long long int MOD=1e9+7; const long long int BASE=31; using namespace std; // vector memo(10101, 0); // vector memd(10101, 0); vector memo; vector memd; struct RollingHush { vector hash; vector power; string str; RollingHush(string s) : hash(s.size()+1), power(s.size()+1) { str=s; hash[0]=0; power[0]=1; for(int si=0; si> str; memo.assign(str.size()/2+1, 0); memd.assign(str.size()/2+1, 0); RollingHush rh_str(str); cout << count_kaibunkai(rh_str, 0, str.size()) << endl; return 0; }