struct hashmap { long long val[mod]; int fr[mod],tt; node s[mod]; void clear() { memset(val,0,sizeof(val));memset(s,0,sizeof(s)); tt=0;memset(fr,0,sizeof(fr)); } long long &operator [](const int st) { int i; for(i=fr[st%mod];i&&s[i].st!=st;i=s[i].pr); if(!i) { s[++tt].st=st;s[tt].pr=fr[st%mod]; fr[st%mod]=tt; i=tt; } return val[i]; } }f[2];