#ddcc2019finald. [ddcc2019_final_d]DISCO!

[ddcc2019_final_d]DISCO!

配点: 700700

問題文

高橋君は文字列 SS を書きました。次の QQ 個の質問に答えてください。

  • 質問 qq (1leqqleqQ)(1 \\leq q \\leq Q): 整数 Lq,RqL_q, R_q が与えられる。SiS_i = D, SjS_j = I, SkS_k = S, SlS_l = C, SmS_m = O であるような組 (i,j,k,l,m)(i, j, k, l, m) (Lqleqi<j<k<l<mleqRq)(L_q \\leq i < j < k < l < m \\leq R_q) は何個存在するか?その個数を 2322^{32} で割った余り を求めよ。

制約

  • SSD, I, S, C, O から構成される長さ 10000001 \\ 000 \\ 000 以下の文字列
  • 1leqQleq1000001 \\leq Q \\leq 100 \\ 000
  • 1leqLqleqRqleqS1 \\leq L_q \\leq R_q \\leq |S|
  • Lq,RqL_q, R_q は整数

入力

入力は以下の形式で標準入力から与えられる。

SS QQ L1L_1 R1R_1 L2L_2 R2R_2 L3L_3 R3R_3 :: LQL_Q RQR_Q

出力

QQ 行出力せよ。qq 行目に質問 qq に対する答えを出力すること。


入力例 1

DDDDDDISCOOOOOO
7
6 10
5 11
4 12
3 13
2 14
1 15
1 8

出力例 1

1
4
9
16
25
36
0

入力例 2

DDDIIISSSCCCOOO
12
1 12
1 13
1 14
1 15
2 12
2 13
2 14
2 15
3 13
3 14
3 15
4 15

出力例 2

0
81
162
243
0
54
108
162
27
54
81
0