회문
시간 제한2초메모리 제한512 MB
문자열 s에서 주어진 시작 위치마다 길이 l인 부분 문자열을 이어 붙인 문자열에 나타나는 회문 부분 문자열의 개수를 구합니다.
문제
회문(palindrome)은 앞에서 읽으나 뒤에서 읽으나 같은 문자열이다.
Yuuka에게 문자열 가 있으며, 그녀는 이에 대해 여러 질문을 하고 싶어 한다. 각 질문에서 Yuuka는 정수 리스트 (여기서 는 1부터 시작하는 위치)와 정수 을 준다. 를 에서 위치 부터 시작하는 길이 의 부분 문자열이라고 하자. 는 을 차례로 이어 붙인 문자열이다. Yuuka는 에 있는 회문 부분 문자열의 총 개수를 알고 싶어 한다.
입력
입력은 0개 이상의 테스트 케이스로 이루어지며, 파일의 끝(EOF)에서 끝난다. 각 테스트 케이스는 다음과 같다.
첫째 줄에 문자열의 길이 이 주어진다 ().
둘째 줄에 문자열 를 나타내는 정수 이 주어진다 (). Yuuka가 사용하는 알파벳은 클 수 있으므로, 각 문자는 1부터 까지의 정수로 나타낸다.
셋째 줄에 질문의 개수 이 주어진다 ().
이어지는 개의 줄 각각에는 정수 와 , 그리고 개의 정수 가 주어진다 (, , , ).
모든 의 합과 모든 의 합은 각각 를 넘지 않는다.
출력
각 질문마다 에 있는 회문 부분 문자열의 개수를 정수로 출력한다.