#LQ001. 字符串哈希匹配字符串 (Hard Version)

字符串哈希匹配字符串 (Hard Version)

问题描述

这是一道模板题。

给定一个长度为 nn 仅由小写字母构成的字符串 SS,再给定 qq 组查询,每次查询给定 44 个整数 l1,r1,l2,r2l_1,r_1,l_2,r_2。你需要输出 Sl1r1S_{l_1\sim r_1}Sl2r2S_{l_2\sim r_2} 是否相同。

本题和 字符串哈希匹配字符串 区别为卡了常见模数。

输入格式

第一行输入两个正整数 n,qn,q(1n,q2×105)(1\le n,q\le 2\times10^5)

第二行输入一个字符串 SS((a Si\le S_i\le z,1in),1\le i\le n)

接下来 qq 行每行输入 44 个正整数 l1,r1,l2,r2l_1,r_1,l_2,r_2。$(1\le l_1\le r_1\le n,1\le l_2\le r_2\le n,r_1-l_1=r_2-l_2)$。

输出格式

输出 qq 行,对于每次查询,如果查询的两个字符串相同输出 Yes,否则输出 No

样例

4 3
abbc
1 2 2 3
1 1 2 2
1 3 2 4
No
Yes
No