AT_dwacon5th_prelims_c k-DMC

Description

[problemUrl]: https://atcoder.jp/contests/dwacon5th-prelims/tasks/dwacon5th_prelims_c ドワンゴのコンテンツ配信基盤システム Dwango Media Cluster は、略して DMC と呼ばれています。 この名前をかっこ良いと感じたニワンゴくんは、文字列の DMC らしさを数値として定義することにしました。 具体的には、長さ $ N $ のある文字列 $ S $ と3以上の整数 $ k $ が与えられた時、以下を満たす整数の3つ組 $ (a,b,c) $ の個数を $ S $ の $ k $-DMC 数と呼ぶことにします。 - $ 0\ \leq\ a $ - $ S[a] $ = `D` - $ S[b] $ = `M` - $ S[c] $ = `C` - $ c-a $ ここで、$ S[a] $ は $ S $ の $ a $ 番目の文字を表します。先頭の文字は $ 0 $ 文字目として扱います (つまり、$ 0\ \leq\ a\ \leq\ N\ -\ 1 $ です)。 ある文字列 $ S $ と $ Q $ 個の整数 $ k_0,\ k_1,\ ...,\ k_{Q-1} $ に対して、$ k_i $-DMC 数をそれぞれ計算してください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ S $ $ Q $ $ k_{0} $ $ k_{1} $ $ ... $ $ k_{Q-1} $

Output Format

$ Q $ 行出力せよ。 $ i $ 行目 $ (0\ \leq\ i\ \leq\ Q-1) $ には、文字列 $ S $ の $ k_i $-DMC 数を出力せよ。

Explanation/Hint

### 制約 - $ 3\ \leq\ N\ \leq\ 10^6 $ - $ S $ は`A` - `Z` からなる文字列 - $ 1\ \leq\ Q\ \leq\ 75 $ - $ 3\ \leq\ k_i\ \leq\ N $ - 入力として与えられる数値はすべて整数である ### Sample Explanation 1 $ (a,b,c)\ =\ (0,\ 6,\ 11) $ が条件を満たします。 Dwango Media Cluster は、ニワンゴくんの定義では意外と DMC らしくないようです。 ### Sample Explanation 2 $ 6\times\ 5\times\ 7 $ 個の組み合わせがありえます。 ### Sample Explanation 3 $ c-a\ 以外の条件は\ (a,\ b,\ c)\ =\ (0,\ 23,\ 36),\ (8,\ 23,\ 36) $ が満たします。 ちなみに、DWANGO は「Dial-up Wide Area Network Gaming Operation」の頭文字です。