아기의 첫 접미사 배열 문제
시간 제한14초메모리 제한512 MB
각 질의마다 부분 문자열 x = s[l..r]의 접미사 중 s[k..r]보다 사전순으로 작거나 같은 접미사의 개수를 구합니다.
문제
길이가 인 문자열 의 접미사 배열은 부터 까지의 정수로 이루어진 순열 이며, 이 의 공백이 아닌 모든 접미사를 사전순으로 정렬한 목록이 되도록 하는 것이다. 의 접미사에 대한 순위 표는 부터 까지의 정수로 이루어진 순열 이며, 를 만족한다.
코토리에게 문자열 이 있다. 그녀는 개의 질의를 하려고 한다. 번째 질의에서는 의 부분 문자열 가 주어지고, 코토리는 에서 접미사 의 순위를 알고 싶어 한다.
은 의 번째 위치에서 시작해 번째 위치에서 끝나는 부분 문자열을 뜻하며, 양 끝을 모두 포함한다.
입력
여러 개의 테스트 케이스가 주어진다. 입력의 첫 줄에는 테스트 케이스의 개수 가 주어진다. 각 테스트 케이스는 다음과 같다.
첫 줄에는 문자열의 길이 과 질의의 개수 이 주어진다 ().
둘째 줄에는 영어 소문자로만 이루어진 길이 의 문자열 가 주어진다.
이어지는 개의 줄에는 각각 세 정수 , , 가 주어지며 (, ), 이는 하나의 질의를 나타낸다.
모든 테스트 케이스의 합과 합은 각각 을 넘지 않는다.
출력
각 질의마다 답을 한 줄에 정수 하나로 출력한다.