#agc020d. [agc020_d]Min Max Repetition

[agc020_d]Min Max Repetition

题目描述

给定正整数 AABB,定义函数 f(A,B)f(A, B) 如下:

  • f(A,B)f(A, B) 的长度为 A+BA + B
  • f(A,B)f(A, B) 包含恰好 AA 个字母 A 和恰好 BB 个字母 B
  • 在满足上述条件的前提下,f(A,B)f(A, B) 中最长的连续相同字母子串(例如 AAAAABBBB)的长度尽可能小;
  • f(A,B)f(A, B) 是满足上述条件的字典序最小的字符串。

例如,f(2,3)f(2, 3) = BABABf(6,4)f(6, 4) = AABAABAABB

回答 QQ 个查询:找出 f(Ai,Bi)f(A_i, B_i) 中从位置 CiC_i 到位置 DiD_i(从 1 开始)的子串。

约束条件

  • 1Q1031 \leq Q \leq 10^3
  • 1Ai,Bi5×1081 \leq A_i, B_i \leq 5 \times 10^8
  • 1CiDiAi+Bi1 \leq C_i \leq D_i \leq A_i + B_i
  • DiCi+1100D_i - C_i + 1 \leq 100
  • 所有输入值都是整数。

部分得分

  • 通过满足 1Ai,Bi1031 \leq A_i, B_i \leq 10^3 的测试集将获得 500500 分。

输入

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

QQ A1A_1 B1B_1 C1C_1 D1D_1 A2A_2 B2B_2 C2C_2 D2D_2 :: AQA_Q BQB_Q CQC_Q DQD_Q

输出

对于每个查询 ii,按照输入顺序打印一行,其中包含 f(Ai,Bi)f(A_i, B_i) 中从位置 CiC_i 到位置 DiD_i(从 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