Xâu vô hạn

Xem PDF

Nộp bài


Điểm: 15 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 512M

Tác giả:
Dạng bài

Xét một xâu \(S^{(0)}\) chỉ chứa các ký tự A, BC. Với mỗi \(n \ge 0\), ta tạo ra xâu \(S^{(n+1)}\) bằng cách thay mỗi ký tự A trong \(S^{(n)}\) bằng BC, thay mỗi ký tự B bằng CA, và thay mỗi ký tự C bằng AB. Cho \(Q\) truy vấn dạng \((t_i, k_i)\), bạn hãy viết chương trình trả lời xem ký tự thứ \(k_i\) của xâu \(S^{(t_i)}\) là A, B, hay C nhé!

Input
  • Dòng đầu chứa xâu \(S_0\) có độ dài tối đa là \(10^5\).
  • Dòng tiếp theo chứa số nguyên dương \(Q\) không vượt quá \(10^5\).
  • Dòng thứ \(i\) trong \(Q\) dòng tiếp theo chứa hai số nguyên \(t_i\) và \(k_i\). Dữ liệu đảm bảo \(0 \le t_i \le 10^{18}\) và \(1 \le k_i\le min\left(10^{18}, \left|S^{(t_i)}\right|\right)\).
Output
  • In ra \(Q\) dòng là đáp số cho từng truy vấn tương ứng.
Ví dụ
Sample input 01
CBA
6
0 1
1 1
2 1
2 2
2 3
2 6
Sample output 01
C
A
B
C
C
B
Giải thích

Ta có \(S^{(0)}=\)CBA, \(S^{(1)}=\)ABCABC, \(S^{(2)}=\)BCCAABBCCAAB.