Дана строка s длины n, состоящая из первых k строчных букв английского алфавита.
Будем называть c-повтором некоторой строки q строку, состоящую из c копий строки q. Например, строка "acbacbacbacb" является 4-повтором строки "acb".
Будем также говорить, что строка a содержит строку b как подпоследовательность, если строку b можно получить из a выкидыванием некоторых символов.
Пусть p — строка, представляющая собой некоторую перестановку первых k строчных букв английского алфавита. Введём функцию d(p), равную наименьшему целому числу, такому что строка s является подпоследовательностью d(p)-повтора строки p.
К строке s применяют m операций одного из двух типов:
- Заменить все символы на позициях с li-й по ri-ю на символ ci.
- Для заданной p, являющейся перестановкой первых k букв английского алфавита, найти значение функции d(p).
Все операции выполняются последовательно, в порядке следования во входных данных. Ваша задача вывести значения функции d(p) для всех операций второго типа.
Выходные данные
Для каждого запроса второго типа выведите в отдельной строке значение функции d(pi).
Примечание
После первой операции строка станет равной abbbbba.
Во второй операции в качестве ответа нужно взять 6-повтор строки abc: ABcaBcaBcaBcaBcAbc.
После третьего запроса строка станет равной abbcbba.
В четвертой операции в качестве ответа нужно взять 5-повтор строки cba: cbAcBacBaCBacBA.
Заглавными буквами обозначены вхождения символов из строки s.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
7 4 3 abacaba 1 3 5 b 2 abc 1 4 4 c 2 cba
|
6
5
|