문자열과 질의가 주어질 때, 각 질의는 주어진 위치에서 시작하고 길이가 주어진 값 이상인 회문 부분문자열의 개수를 묻는다.
소문자로 이루어진 문자열 SSS가 주어진다. 다음 쿼리를 차례대로 처리하는 프로그램을 작성하시오.
index len
index
len
팰린드롬은 앞에서부터 읽어도 뒤에서부터 읽어도 같은 문자열이다. 길이가 0인 문자열도 팰린드롬이다. 따라서 len이 0이면 index에서 시작하는 길이 0인 부분 문자열 하나도 개수에 포함한다.
첫째 줄에 문자열 SSS가 주어진다. SSS의 길이는 100,000을 넘지 않으며, SSS는 알파벳 소문자로만 이루어져 있다.
둘째 줄에 쿼리의 개수 MMM이 주어진다. (1≤M≤100,0001 \le M \le 100{,}0001≤M≤100,000)
셋째 줄부터 MMM개의 줄에 쿼리가 한 줄에 하나씩 주어진다. 각 쿼리는 두 정수 index와 len으로 이루어진다. (0≤index<∣S∣0 \le index < |S|0≤index<∣S∣, 0≤len≤100,0000 \le len \le 100{,}0000≤len≤100,000)
문자열의 인덱스는 0부터 시작한다.
각 쿼리의 답을 입력으로 주어진 순서대로 한 줄에 하나씩 출력한다.