#61. Hide

Hide

温馨提示

请注意输入输出对程序效率的影响。

题目描述

坎格鲁斯普雷给了你一个长度为 nn 的只包含小写字母的字符串 ss且保证每种小写字母在 ss 中出现至多一次

坎格鲁斯普雷又给了你一个长度为 mm 的只包含小写字母的字符串 tt

定义 hide 字符串为无限个 ss 字符串拼接成的字符串的某一子串,例如,假如 s=abds=abd ,那么 bb , dada , bdabdabdabda 就属于 hide 字符串。

现在,坎格鲁斯普雷将对字符串 tt 进行 qq 次操作:

1、单点修改某一字符;

2、询问 [l,r][l,r] 区间内最长的 hide 字符串的长度。

对于每个操作 22 ,你都要回答坎格鲁斯普雷的询问。若区间内没有 hide 字符串,输出 00

输入格式

输入第一行三个整数 nn , mm , qq(1n26,1m,q5×105)(1 \leq n \leq 26,1 \leq m,q \leq 5 \times 10^5)

接下来一行,一个只包含小写字母的字符串 ss保证每种小写字母在 ss 中出现至多一次

接下来一行,一个只包含小写字母的字符串 tt

接下来 qq 行,先一个整数 opop ,表示操作类型。若 op=1op=1 ,则接下来一个整数 pp 和一个字符 cc ,表示将第 pp 个字符修改成 cc ,保证 cc 一定为小写字母;若 op=2op=2 ,则接下来两个整数 ll , rr ,表示询问 [l,r][l,r] 区间内最长的 hide 字符串的长度。(op{1,2},1p,l,rm,lr)(op \in \{1,2\},1 \leq p,l,r \leq m,l \leq r)

输出格式

对于每个操作 22 ,输出一行一个整数表示答案。若区间内没有 hide 字符串,输出 00

输入输出样例

输入 #1

3 10 9
abc
babcabdcaa
2 7 7
2 7 10
2 1 10
2 6 9
1 7 c
1 8 b
2 7 10
2 1 10
2 10 10

输出 #1

0
2
5
2
1
6
1

说明与提示

对于样例 #1:

对于第一个询问, [7,7][7,7] 区间构成的字符串是 dd ,其中没有 hide 字符串。

对于第二个询问, [7,10][7,10] 区间构成的字符串是 dcaadcaa ,其中最长的 hide 字符串是 caca

对于第三个询问, [1,10][1,10] 区间构成的字符串是 babcabdcaababcabdcaa ,其中最长的 hide 字符串是 abcababcab

对于第四个询问, [6,9][6,9] 区间构成的字符串是 bdcabdca ,其中最长的 hide 字符串是 caca

对于第七个询问, [7,10][7,10] 区间构成的字符串是 cbaacbaa ,其中最长的 hide 字符串是 aa , bb , cc

对于第八个询问, [1,10][1,10] 区间构成的字符串是 babcabcbaababcabcbaa ,其中最长的 hide 字符串是 abcabcabcabc

对于第九个询问, [10,10][10,10] 区间构成的字符串是 aa ,其中最长的 hide 字符串是 aa