#abc242d. [abc242_d]ABC Transform

[abc242_d]ABC Transform

题目描述

给定一个由 ABC 组成的字符串 SS

S(0):=SS^{(0)}:=S。对于 i=1,2,3,ldotsi=1,2,3,\\ldots,令 S(i)S^{(i)} 是将 S(i1)S^{(i-1)} 中的字符同时替换为以下内容得到的结果:ABCBCACAB

回答 QQ 个查询问题。第 ii 个查询问题如下:

  • 打印出 S(ti)S^{(t_i)} 开头的第 kik_i 个字符。

约束条件

  • SS 是一个长度在 1110510^5 之间(包含边界)的字符串,由 ABC 组成。
  • 1leqQleq1051 \\leq Q \\leq 10^5
  • 0leqtileq10180 \\leq t_i \\leq 10^{18}
  • 1leqkileqmin(1018,1 \\leq k_i \\leq \\min(10^{18}, S(ti)S^{(t_i)} 的长度)
  • Q,ti,kiQ, t_i, k_i 是整数。

输入

从标准输入读入数据,输入格式如下:

SS QQ t1t_1 k1k_1 t2t_2 k2k_2 hspace0.4cmvdots\\hspace{0.4cm}\\vdots tQt_Q kQk_Q

输出

按照索引的升序处理查询问题,即按照给定的顺序进行处理。每个答案后应跟随一个换行符。


示例输入1

ABC
4
0 1
1 1
1 3
1 6

示例输出1

A
B
C
B

我们有 S(0)=S^{(0)}=ABCS(1)=S^{(1)}=BCCAAB

因此,按照给定的顺序,查询问题的答案依次是 ABCB


示例输入2

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

示例输出2

A
A
C
A
A