Description
五月二十四日,是小 X 的生日。为了庆祝他的生日,他的朋友们为他准备了一个生日聚会。这个聚会上有一种很常见的道具------灯带。这个灯带上需要放 n 个灯(不能有位置不放),每个灯可以是红、绿、蓝三种颜色之一。为了尽可能地降低成本,朋友们只分别准备了 r,g,b 个红、绿、蓝色灯,且恰好一共准备了 n 个灯。
但是,小 X 对灯带是有自己的喜好的。具体来说,他的喜好包含 m 对数 (l1,r1),…,(lm,rm),他希望对于每一个 i,第 li∼ri 个灯当中包含最多两种不同的颜色。保证对于任意 1≤i≤m,都有 1≤li≤ri≤n,且对任意 1≤i<j≤m,都有 ri<lj 或者 rj<li(即区间 [li,ri] 和 [lj,rj] 不交)。
现在小 X 的朋友们需要构造一个方案满足小 X 的喜好。但是准备的灯实在是太多了,朋友们很难很快想出一种方案,于是来求助于会编程的你。请你帮帮他们,构造一种满足小 X 的喜好的灯带方案,或者告诉他们方案不存在。
本题包含多组数据。
第一行一个整数 T (1≤T≤105),表示数据组数。
对于每组数据:
第一行五个整数 n,m,r,g,b (1≤m≤n≤105, 0≤r,g,b≤n, r+g+b=n),分别表示灯带长度和小 X 喜好对应的 (l,r) 数量,以及红、绿、蓝色灯的数量。
接下来 m 行,第 i 行包含两个正整数 li,ri (1≤li≤ri≤n)。保证对于任意 1≤i<j≤m,都有 ri<lj 或者 rj<li。
保证每组数据的 n 的和不超过 2×105。
Output
对于每组数据,如果方案存在,则输出包含一行一个只由 R, G, B 构成的长度为 n 字符串,其中 R, G, B 分别表示红、绿、蓝色灯,表示方案。你需要保证字符串当中 R, G, B 的数量分别恰好是每组数据对应的 r,g,b。若方案不存在,则输出 −1。
Samples
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