字符串哈希
const int bs=233, P=998244353;
int hsh(string x) {
int val=0, mul=1;
for(int i=0; i<x.size(); ++i) {
if('0'<=x[i]&&x[i]<='9') val=(val+mul*(x[i]-'0')%P)%P;
if('a'<=x[i]&&x[i]<='z') val=(val+mul*(x[i]-'a'+10)%P)%P;
if('A'<=x[i]&&x[i]<='Z') val=(val+mul*(x[i]-'A'+36)%P)%P;
mul=mul*bs%P;
}
return val;
}