有以下两处错误:
x = x * x % mod;
n>>=1;
for(int i = 1 ;i<=len;i++){
H[i]=H[i-1]*(Hstr[i-1]-28)%mods;
}