province#P26011. 灯带
灯带
题目描述
五月二十四日,是小 X 的生日。为了庆祝他的生日,他的朋友们为他准备了一个生日聚会。这个聚会上有一样非常重要的道具——灯带。这个灯带上需要放 个灯(不能有位置不放),每个灯可以是红、绿、蓝三种颜色之一。为了尽可能地降低成本,朋友们只分别准备了 个红、绿、蓝色灯,且恰好一共准备了 个灯。
但是,小 对灯带是有自己的喜好的。具体来说,他的喜好包含 对数 ,他希望对于每一个 ,第 个灯当中包含最多两种不同的颜色。保证对任意 ,都有 ,且对任意 ,都有 或者 (即区间 和 不交)。
现在小 X 的朋友们需要构造一个方案满足小 X 的喜好。但准备的灯实在是太多了,朋友们很难很快想出一种方案,于是来求助于会编程的你。请你帮帮他们,构造一种满足小 X 的喜好的灯带方案,或者告诉他们方案不存在。
输入格式
本题包含多组数据。
第一行一个整数 ,表示数据组数。
对于每组数据:
- 第一行两个正整数 ( , ), 分别表示灯带长度和小X喜好对应的 数量, 以及红、绿、蓝色灯的数量。
- 接下来 行,第 行包含两个正整数 。
保证对任意 ,都有 或者 。
保证每组数据的 的和不超过 。
输出格式
对于每组数据,如果方案存在,则输出包含一行一个只由 R, G, B 构成的长度为 n 字符串,其中 R, G, B 分别表示红、绿、蓝色灯,表示方案。你需要保证字符串当中 R, G, B 的数量分别恰好是每组数据对应的 。
若方案不存在,则输出 -1。
3
3 2 1 1 1
1 2
3 3
4 1 1 1 2
1 3
6 1 2 2 2
1 5
BGR
BBGR
-1