#1797. [ABC242D] ABC Transform

[ABC242D] ABC Transform

题目描述

给定一个长度在 [1,105][1,10^5] 范围内的,仅由ABC组成的字符串 ss。令 s0=ss_0=s。从 11 开始,sis_i 以如下规则由 si1s_{i-1} 变化而来:用BC代替A,用CA代替B,用AB代替C。现在给出 qq 次询问,第 ii 次询问会给出两个整数 tit_ikik_i,请输出 stis_{t_i} 的前数第 kik_i 个字符。

数据保证 1q1051 \le q \le 10^50ti10180 \le t_i \le 10^{18}1kimin(1018,sti)1 \le k_i \le \min (10^{18},|s_{t_i}|),且这些数都是整数。

输入格式

第一行输入一个字符串 SS

第二行输入一个整数 QQ

接下来 QQ 行,每行两个数字 ti,kit_i,k_i

输出格式

输出一共输出 QQ 行。

ABC
4
0 1
1 1
1 3
1 6
A
B
C
B
CBBAACCCCC
5
57530144230160008 659279164847814847
29622990657296329 861239705300265164
509705228051901259 994708708957785197
176678501072691541 655134104344481648
827291290937314275 407121144297426665
A
A
C
A
A

提示

  • S S 只由 A,B,C 构成。
  • 1  Q  105 1\ \leq\ Q\ \leq\ 10^5
  • 0  ti  1018 0\ \leq\ t_i\ \leq\ 10^{18}
  • 1  ki  min(1018, S(ti) 1\ \leq\ k_i\ \leq\ \min(10^{18},\ S^{(t_i)} の長さ) )
  • Q, ti, ki Q,\ t_i,\ k_i は整数

Sample Explanation 1

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