Дана строка s, обработайте q запросов, каждый из которых имеет один из следующий типов:
- 1 i c — Изменить i-й символ в строке на c.
- 2 l r y — Рассмотрим подстроку строки s, начинающуюся с символа с номером l и заканчивающуюся на символ с номером r. Выведите количество раз, которые y входит в неё как подстрока.
Выходные данные
Для каждого запроса типа 2 выведите ответ в отдельной строке.
Примечание
В первом тестовом примере изначально строка aba встречается 3 раза как подстрока на подотрезке [1, 7].
После запроса первого типа строка становится равной ababcbaba и строка aba встречается только один раз как подстрока на отрезке [1, 7].
Примеры
| № | Входные данные | Выходные данные |
|
1
|
ababababa 3 2 1 7 aba 1 5 c 2 1 7 aba
|
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
1
|