#SL2310J. Border Queries

Border Queries

边界查询

中文题目为机翻,原题目请参考英文题面

给定一个长度为 nn 的字符串 SS ,由小写英文字母组成。当且仅当 s1s1s1+s2s_1 + s_2 的边界,而 s3s_3s2+s3s_2 + s_3 的边界时,SS分割成三个非空子串 s1,s2,s3s_1,s_2,s_3才被认为是好的。当且仅当 ssSS 的子串,并且存在一个将 SS 分割为 s1,s2,s3s_1,s_2,s_3,使得 s2=ss_2 = s 的好分区时,我们才说字符串 ss 是好字符串。

将字符串的值定义为好子串的个数。当且仅当两个子串的起始位置不同或结束位置不同时,才认为它们是不同的。

给定一个长度为 mm 的字符串 TT,由小写英文字母和 qq 个查询组成。在每个查询中,您都会得到两个整数 l,rl,r。您需要计算 T[lr]T[l\cdots r] 的值。

输入

每个测试包含多个测试用例。第一行包含一个整数 T(1T60)T \: (1 \leq T \leq 60) 表示测试用例的数量。

对于每个测试用例,第一行包含三个整数 n,m,q:(3n106,1m,q106)n,m,q: (3 \leq n \leq 10^6, 1 \leq m,q \leq 10^6)

第二行包含长度为 nn 的字符串 SS

第三行包含长度为 mm 的字符串 TT

接下来的 qq 行分别包含两个整数 lil_irir_i,表示查询 (1lirim)(1 \leq l_i \leq r_i \leq m)

保证所有测试案例中的 n,m,q\sum n, \sum m, \sum q 不超过 10610^6

输出

对于每个查询,输出一行,用整数表示答案。

请不要输出尾部空格。

示例

1
7 7 2
abacaba
cabacab
1 4
3 7
0
2