p[0] = 1;for (int i = 1; i <= n; i ++ ){ h[i] = h[i - 1] * P + str[i]; p[i] = p[i - 1] * P;}
// 计算子串 str[l ~ r] 的哈希值ULL get(int l, int r){ return h[r] - h[l - 1] * p[r - l + 1];}