만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

듣기 평가 연습

시간 제한3초메모리 제한1024 MB

요약
각 질의에서 T의 부분 문자열 T[i..j]와 앞의 k글자만 일치하는 S의 부분 문자열 개수를 구합니다.
난이도

어려움10점 중 8점

유형
문자열 매칭, 정렬, 이분 탐색
정답자
아직 제출이 없습니다

문제

알고리즘의 중요성이 널리 알려지면서 SUAPC에 참가하려는 사람도 늘었다. 이런 흐름에 맞춰 SUAPC에 듣기 평가 영역이 새로 생겼다. 래오는 코딩은 할 줄 알지만 듣기는 약해서, 기출 문제로 듣기 평가를 연습하려 한다.

래오의 단어장은 길이 NN의 문자열 SS로, 기출 문제집은 길이 MM의 문자열 TT로 주어진다. 래오는 다음과 같은 형식의 연습 문제를 QQ번 풀어야 한다. 두 문자열의 정확히 앞 kk글자가 서로 같을 때, 두 문자열을 kk-유사한 관계라 하자. 두 문자열 중 하나의 길이가 kk 미만이거나, 두 문자열의 앞 k+1k+1글자 이상이 서로 같으면 두 문자열은 kk-유사하지 않다.

  • ii jj kk : TT의 부분 문자열 TiTi+1...TjT_i T_{i+1} ... T_j와 kk-유사한 SS의 부분 문자열의 개수를 출력한다.

부분 문자열이란 문자열의 연속된 일부를 말한다. 부분 문자열은 빈 문자열일 수 없다.

입력

첫째 줄에 단어장의 길이 NN, 기출 문제집의 길이 MM, 연습 문제의 개수 QQ가 공백으로 구분되어 주어진다. (1≤N,M,Q≤100 0001 \leq N, M, Q \leq 100\,000)

둘째 줄에 알파벳 소문자로 이루어진 길이 NN의 문자열 SS가 주어진다.

셋째 줄에 알파벳 소문자로 이루어진 길이 MM의 문자열 TT가 주어진다.

이후 QQ개의 줄에 걸쳐 연습 문제가 i j k와 같은 형태로 주어진다. (1≤i≤j≤M1 \leq i \leq j \leq M, 0≤k≤M0 \leq k \leq M)

출력

각 연습 문제에 대한 답을 한 줄에 하나씩 순서대로 출력한다.

예제2

  1. 예제 1

    입력
    6 6 3
    banana
    ananas
    2 5 2
    1 6 1
    5 6 1
    
    예상 출력
    2
    3
    9
    
  2. 예제 2

    입력
    5 7 2
    suapc
    sinchon
    1 7 0
    3 4 5
    
    예상 출력
    10
    0