Substrings in a String

题意翻译

# 题目描述 给你一个字符串 $s$,共有 $q$ 次操作,每个都是下面两种形式的一种。 - `1 i c`:将字符串 $s$ 的第 $i$ 项变为字符 $c$。 - `2 l r y`:求字符串 $y$ 在字符串 $s$ 中以第 $l$ 项为起点,以第 $r$ 项为终点的子串(第 $l$ 和第 $r$ 项)中作为子串出现的次数。 $1\leq |s|\leq 10^5$,$1\leq q\leq 10^5$,$\sum |y| \leq 10^5$。

题目描述

Given a string $ s $ , process $ q $ queries, each having one of the following forms: - $ 1ic $ — Change the $ i $ -th character in the string to $ c $ . - $ 2lry $ — Consider the substring of $ s $ starting at position $ l $ and ending at position $ r $ . Output the number of times $ y $ occurs as a substring in it.

输入输出格式

输入格式


The first line of the input contains the string $ s $ ( $ 1<=|s|<=10^{5} $ ) of lowercase English letters. The second line contains an integer $ q $ ( $ 1<=q<=10^{5} $ ) — the number of queries to process. The next $ q $ lines describe the queries and may have one of the following forms: - $ 1ic $ ( $ 1<=i<=|s| $ ) - $ 2lry $ ( $ 1<=l<=r<=|s| $ ) $ c $ is a lowercase English letter and $ y $ is a non-empty string consisting of only lowercase English letters. The sum of $ |y| $ over all queries of second type is at most $ 10^{5} $ . It is guaranteed that there is at least one query of second type. All strings are $ 1 $ -indexed. $ |s| $ is the length of the string $ s $ .

输出格式


For each query of type $ 2 $ , output the required answer in a separate line.

输入输出样例

输入样例 #1

ababababa
3
2 1 7 aba
1 5 c
2 1 7 aba

输出样例 #1

3
1

输入样例 #2

abcdcbc
5
2 1 7 bc
1 4 b
2 4 7 bc
1 2 a
2 1 4 aa

输出样例 #2

2
2
1

说明

Consider the first sample case. Initially, the string aba occurs $ 3 $ times in the range $ [1,7] $ . Note that two occurrences may overlap. After the update, the string becomes ababcbaba and now aba occurs only once in the range $ [1,7] $ .