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