题目描述
给定正整数 A 和 B,定义函数 f(A,B) 如下:
- f(A,B) 的长度为 A+B;
- f(A,B) 包含恰好 A 个字母
A
和恰好 B 个字母 B
;
- 在满足上述条件的前提下,f(A,B) 中最长的连续相同字母子串(例如
AAAAA
或 BBBB
)的长度尽可能小;
- f(A,B) 是满足上述条件的字典序最小的字符串。
例如,f(2,3) = BABAB
,f(6,4) = AABAABAABB
。
回答 Q 个查询:找出 f(Ai,Bi) 中从位置 Ci 到位置 Di(从 1 开始)的子串。
约束条件
- 1≤Q≤103
- 1≤Ai,Bi≤5×108
- 1≤Ci≤Di≤Ai+Bi
- Di−Ci+1≤100
- 所有输入值都是整数。
部分得分
- 通过满足 1≤Ai,Bi≤103 的测试集将获得 500 分。
输入
从标准输入读入输入数据,格式如下:
Q
A1 B1 C1 D1
A2 B2 C2 D2
:
AQ BQ CQ DQ
输出
对于每个查询 i,按照输入顺序打印一行,其中包含 f(Ai,Bi) 中从位置 Ci 到位置 Di(从 1 开始)的子串。
示例输入 1
5
2 3 1 5
6 4 1 10
2 3 4 4
6 4 3 7
8 10 5 8
示例输出 1
BABAB
AABAABAABB
A
BAABA
ABAB