만드는 중입니다

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

디지털 루트

시간 제한12초메모리 제한512 MB

요약
B진수 문자열의 부분 문자열 중 한 자리를 A_i의 숫자로 바꿔 디지털 루트가 x_i가 될 수 있는 것의 개수를 각 질의마다 구합니다.
난이도

보통10점 중 7점

유형
누적 합, 수학, 문자열
정답자
아직 제출이 없습니다

문제

시간 제한: 12000 ms. 메모리 제한: 512 MB.

Chiaki에게 길이가 nn인 BB진법 숫자열 ss가 있다. 그녀는 이 문자열에 대한 질의 mm개를 준비했다.

ii번째 질의에서는 부분 문자열 sl..rs_{l..r} (1≤l≤r≤n1 \le l \le r \le n) 중에서, sl..rs_{l..r}의 자릿수를 최대 한 개 골라 AiA_i에 속한 숫자 중 하나로 바꾸었을 때 sl..rs_{l..r}의 디지털 루트가 xix_i와 같아지는 부분 문자열의 개수를 구한다.

BB진법 숫자열 xx (앞에 0이 올 수 있다)의 디지털 루트 d(x)d(x)는, xx의 모든 자릿수의 합 s(x)s(x)가 B−1B-1 이하이면 s(x)s(x)이고, 그렇지 않으면 d(s(x))d(s(x))이다. 예를 들어 6543106543_{10}의 디지털 루트는 d(654310)=d(610+510+410+310)=d(1810)=910d(6543_{10}) = d(6_{10} + 5_{10} + 4_{10} + 3_{10}) = d(18_{10}) = 9_{10}이고, d(abcd16)=d(2e16)=d(1016)=116d(abcd_{16}) = d(2e_{16}) = d(10_{16}) = 1_{16}이다.

이 문제에서 값이 10부터 15까지인 숫자는 영문 소문자 'a'부터 'f'로 나타낸다.

입력

첫째 줄에 세 정수 nn, mm, BB가 주어진다 (1≤n,m≤2201 \le n, m \le 2^{20}, 2≤B≤162 \le B \le 16).

둘째 줄에는 길이가 nn인 BB진법 숫자열 ss가 주어진다.

이어지는 mm개의 줄에는 각각 문자 xix_i와 BB진법 문자열 aia_i (1≤∣ai∣≤B1 \le |a_i| \le B)가 주어진다. aia_i의 모든 문자는 서로 다르다.

출력

각 질의에 대해 부분 문자열의 개수를 한 줄에 하나씩 출력한다.

예제2

  1. 예제 1

    입력
    9 2 10
    123456789
    9 12
    8 123456789
    
    예상 출력
    24
    45
    
  2. 예제 2

    입력
    5 10 5
    01234
    0 1
    1 1
    2 1
    3 1
    4 1
    0 1
    1 0
    2 0
    3 0
    4 0
    
    예상 출력
    1
    13
    9
    9
    9
    1
    10
    9
    10
    6