province#P26011. 灯带

灯带

题目描述

五月二十四日,是小 X 的生日。为了庆祝他的生日,他的朋友们为他准备了一个生日聚会。这个聚会上有一样非常重要的道具——灯带。这个灯带上需要放 nn 个灯(不能有位置不放),每个灯可以是红、绿、蓝三种颜色之一。为了尽可能地降低成本,朋友们只分别准备了 r,g,br, g, b 个红、绿、蓝色灯,且恰好一共准备了 nn 个灯。

但是,小 XX 对灯带是有自己的喜好的。具体来说,他的喜好包含 mm 对数 (l1,r1),,(lm,rm)(l_1, r_1), \ldots, (l_m, r_m) ,他希望对于每一个 ii ,第 liril_i \sim r_i 个灯当中包含最多两种不同的颜色。保证对任意 1i<m1 \leq i < m ,都有 1lirin1 \leq l_i \leq r_i \leq n ,且对任意 1i<jm1 \leq i < j \leq m ,都有 ri<ljr_i < l_j 或者 rj<lir_j < l_i (即区间 [li,ri][l_i, r_i][lj,rj][l_j, r_j] 不交)。

现在小 X 的朋友们需要构造一个方案满足小 X 的喜好。但准备的灯实在是太多了,朋友们很难很快想出一种方案,于是来求助于会编程的你。请你帮帮他们,构造一种满足小 X 的喜好的灯带方案,或者告诉他们方案不存在。

输入格式

本题包含多组数据。

第一行一个整数 TT (1T105)(1\leq T\leq 10^{5}) ,表示数据组数。

对于每组数据:

  • 第一行两个正整数 n,m,r,g,bn, m, r, g, b ( 1mn<1051 \leq m \leq n < 10^5 , 0r,g,bn,r+g+b=n0 \leq r, g, b \leq n, r + g + b = n ), 分别表示灯带长度和小X喜好对应的 (l,r)(l, r) 数量, 以及红、绿、蓝色灯的数量。
  • 接下来 mm 行,第 ii 行包含两个正整数 li,ri(1li<ri<n)l_{i}, r_{i} (1 \leq l_{i} < r_{i} < n)
    保证对任意 1i<jm1 \leq i < j \leq m ,都有 ri<ljr_{i} < l_{j} 或者 rj<lir_{j} < l_{i}
    保证每组数据的 nn 的和不超过 2×1052 \times 10^{5}

输出格式

对于每组数据,如果方案存在,则输出包含一行一个只由 R, G, B 构成的长度为 n 字符串,其中 R, G, B 分别表示红、绿、蓝色灯,表示方案。你需要保证字符串当中 R, G, B 的数量分别恰好是每组数据对应的 r,g,br, 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