atcoder#ABC242D. [ABC242D] ABC Transform

[ABC242D] ABC Transform

配点 : 400400

問題文

A, B, C のみからなる文字列 SS が与えられます。

S(0):=SS^{(0)}:=S とし、i=1,2,3,i=1,2,3,\ldots について S(i)S^{(i)}S(i1)S^{(i-1)} の各文字を ABC, BCA, CAB と同時に置き換えたものと定義します。

以下の QQ 個のクエリに答えてください。ii 個目のクエリの内容は以下の通りです。

  • S(ti)S^{(t_i)} の先頭から kik_i 文字目を出力せよ。

制約

  • SSA, B, C のみからなる長さ 11 以上 10510^5 以下の文字列
  • 1Q1051 \leq Q \leq 10^5
  • 0ti10180 \leq t_i \leq 10^{18}
  • 1kimin(1018, S(ti)1 \leq k_i \leq \min(10^{18},\ S^{(t_i)} の長さ))
  • Q,ti,kiQ, t_i, k_i は整数

入力

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

SS

QQ

t1t_1 k1k_1

t2t_2 k2k_2

\hspace{0.4cm}\vdots

tQt_Q kQk_Q

出力

QQ 個のクエリを添字の昇順に、すなわち与えられる順に処理し、出力ごとに改行せよ。

ABC
4
0 1
1 1
1 3
1 6
A
B
C
B

S(0)=S^{(0)}=ABC, S(1)=S^{(1)}=BCCAAB です。

よって各クエリへの答えは順に A, B, C, B となります。

CBBAACCCCC
5
57530144230160008 659279164847814847
29622990657296329 861239705300265164
509705228051901259 994708708957785197
176678501072691541 655134104344481648
827291290937314275 407121144297426665
A
A
C
A
A