문자열에서 구간을 한 문자로 바꾸는 갱신과, 길이가 K 이하인 회문 부분 문자열의 개수를 구간마다 세는 문제이다.
문자열 SSS와 정수 KKK가 주어진다. 다음 두 종류의 쿼리를 처리하는 프로그램을 작성하시오.
1 l r c
2 l r
문자열의 첫 글자의 인덱스는 111이다. S[i..j]S[i..j]S[i..j]는 SSS의 iii번째 글자부터 jjj번째 글자까지의 부분 문자열이다.
첫째 줄에 문자열 SSS와 정수 KKK (1≤K≤501 \le K \le 501≤K≤50)가 공백으로 구분되어 주어진다. SSS는 알파벳 소문자로만 이루어져 있고, 길이는 10510^5105을 넘지 않는다.
둘째 줄에 쿼리의 개수 MMM (1≤M≤1051 \le M \le 10^51≤M≤105)이 주어진다.
셋째 줄부터 MMM개의 줄에 쿼리가 한 줄에 하나씩 주어진다. 모든 쿼리에서 1≤l≤r≤∣S∣1 \le l \le r \le |S|1≤l≤r≤∣S∣이고, 1번 쿼리의 ccc는 알파벳 소문자 한 개다.
2번 쿼리마다 그 결과를 한 줄에 하나씩, 입력에 주어진 순서대로 출력한다.