

Time Limit: 2.525 sec / Memory Limit: 1024 MB
配点 : 600 点
問題文
ドワンゴのコンテンツ配信基盤システム Dwango Media Cluster は、略して DMC と呼ばれています。
この名前をかっこ良いと感じたニワンゴくんは、文字列の DMC らしさを数値として定義することにしました。
具体的には、長さ N のある文字列 S と3以上の整数 k が与えられた時、以下を満たす整数の3つ組 (a,b,c) の個数を S の k-DMC 数と呼ぶことにします。
- 0 \leq a < b < c \leq N - 1
- S[a] =
D
- S[b] =
M
- S[c] =
C
- c-a < k
ここで、S[a] は S の a 番目の文字を表します。先頭の文字は 0 文字目として扱います (つまり、0 \leq a \leq N - 1 です)。
ある文字列 S と Q 個の整数 k_0, k_1, ..., k_{Q-1} に対して、k_i-DMC 数をそれぞれ計算してください。
制約
- 3 \leq N \leq 10^6
- S は
A
-Z
からなる文字列 - 1 \leq Q \leq 75
- 3 \leq k_i \leq N
- 入力として与えられる数値はすべて整数である
入力
入力は以下の形式で標準入力から与えられる。
N S Q k_{0} k_{1} ... k_{Q-1}
出力
Q 行出力せよ。
i 行目 (0 \leq i \leq Q-1) には、文字列 S の k_i-DMC 数を出力せよ。
入力例1
18 DWANGOMEDIACLUSTER 1 18
出力例1
1
(a,b,c) = (0, 6, 11) が条件を満たします。
Dwango Media Cluster は、ニワンゴくんの定義では意外と DMC らしくないようです。
入力例2
18 DDDDDDMMMMMCCCCCCC 1 18
出力例2
210
6\times 5\times 7 個の組み合わせがありえます。
入力例3
54 DIALUPWIDEAREANETWORKGAMINGOPERATIONCORPORATIONLIMITED 3 20 30 40
出力例3
0 1 2
c-a < k_i 以外の条件は (a, b, c) = (0, 23, 36), (8, 23, 36) が満たします。
ちなみに、DWANGO は「Dial-up Wide Area Network Gaming Operation」の頭文字です。
入力例4
30 DMCDMCDMCDMCDMCDMCDMCDMCDMCDMC 4 5 10 15 20
出力例4
10 52 110 140
Score : 600 points
Problem Statement
In Dwango Co., Ltd., there is a content distribution system named 'Dwango Media Cluster', and it is called 'DMC' for short.
The name 'DMC' sounds cool for Niwango-kun, so he starts to define DMC-ness of a string.
Given a string S of length N and an integer k (k \geq 3), he defines the k-DMC number of S as the number of triples (a, b, c) of integers that satisfy the following conditions:
- 0 \leq a < b < c \leq N - 1
- S[a] =
D
- S[b] =
M
- S[c] =
C
- c-a < k
Here S[a] is the a-th character of the string S. Indexing is zero-based, that is, 0 \leq a \leq N - 1 holds.
For a string S and Q integers k_0, k_1, ..., k_{Q-1}, calculate the k_i-DMC number of S for each i (0 \leq i \leq Q-1).
Constraints
- 3 \leq N \leq 10^6
- S consists of uppercase English letters
- 1 \leq Q \leq 75
- 3 \leq k_i \leq N
- All numbers given in input are integers
Input
Input is given from Standard Input in the following format:
N S Q k_{0} k_{1} ... k_{Q-1}
Output
Print Q lines. The i-th line should contain the k_i-DMC number of the string S.
Sample Input 1
18 DWANGOMEDIACLUSTER 1 18
Sample Output 1
1
(a,b,c) = (0, 6, 11) satisfies the conditions.
Strangely, Dwango Media Cluster does not have so much DMC-ness by his definition.
Sample Input 2
18 DDDDDDMMMMMCCCCCCC 1 18
Sample Output 2
210
The number of triples can be calculated as 6\times 5\times 7.
Sample Input 3
54 DIALUPWIDEAREANETWORKGAMINGOPERATIONCORPORATIONLIMITED 3 20 30 40
Sample Output 3
0 1 2
(a, b, c) = (0, 23, 36), (8, 23, 36) satisfy the conditions except the last one, namely, c-a < k_i.
By the way, DWANGO is an acronym for "Dial-up Wide Area Network Gaming Operation".
Sample Output 4
30 DMCDMCDMCDMCDMCDMCDMCDMCDMCDMC 4 5 10 15 20
Sample Output 4
10 52 110 140