Podciągi
시간 제한15초메모리 제한2048 MB
여섯 글자 알파벳 위의 문자열에서 한 위치씩 q번 갱신한 뒤마다, 두 번 이상 나타나는 서로 다른 비어 있지 않은 부분수열의 개수를 998244353으로 나눈 나머지로 구합니다.
문제
Dane jest słowo o długości nad alfabetem \\{a, b, c, d, e, f\\}. Na słowie tym wykonywanych zostanie operacji. Każda operacja polega na zamianie dokładnie jednej litery w słowie.
Rozważmy multizbiór wszystkich podciągów , czyli słów powstających przez usunięcie pewnego podzbioru liter ze słowa .
Twoim zadaniem jest utrzymywać informację o liczbie różnych niepustych słów , które w występują co najmniej dwa razy.
Dla przykładu, w ciągu ababa jest takich słów:
- Słowo
awystępuje w trzy razy. - Słowo
bwystępuje w dwa razy. - Słowo
abwystępuje w trzy razy (usuwając z litery na pozycjach , , ; , , lub , , ). - Słowo
bawystępuje w trzy razy (usuwając z litery na pozycjach , , ; , , lub , , ). - Słowo
aawystępuje w trzy razy (usuwając z litery na pozycjach , , ; , , lub , , ). - Słowo
abawystępuje w cztery razy (usuwając z litery na pozycjach , ; , ; , lub , ).
Oblicz liczbę takich słów w zbiorze dla początkowego słowa oraz dla słów po każdej z operacji. Ponieważ liczby te mogą być dość duże, wypisz ich reszty z dzielenia przez .
입력
W pierwszym wierszu wejścia znajdują się dwie liczby całkowite oraz (, ), gdzie oznacza długość słowa, a oznacza liczbę operacji.
W drugim wierszu wejścia znajduje się -literowe słowo złożone z małych liter alfabetu angielskiego. Ciąg ten składa się jedynie z liter od a do f.
W kolejnych wierszach znajdują się opisy operacji. Każdy opis składa się z liczby całkowitej () oraz litery (z\_i ∈ \\{a, b, c, d, e, f\\}) i oznacza zamianę litery na pozycji w słowie s na literę .
출력
Na wyjściu powinno znaleźć się wierszy; w -tym wierszu powinna znaleźć się jedna liczba całkowita: liczba różnych słów , które występują co najmniej dwa razy jako podciąg słowa . Wszystkie wyniki należy podać modulo .
힌트
Wyjaśnienie przykładu: Oto stan słowa s po kolejnych aktualizacjach oraz słów , które występują jako podciąg przynajmniej dwa razy:
- słowo:
abca, podciągi: \\{a\\}, - słowo:
abca, podciągi: \\{a\\}, - słowo:
abcd, podciągi: , - słowo:
accd, podciągi: \\{ac,acd,cd,c\\}.