在某款流行的沙盒电子游戏中,玩家可以建造一种名为“怪物研磨机”(mob grinder)的结构。怪物研磨机由一个 $N \times M$ 的矩形网格组成。怪物(也称为“mobs”)会持续在网格的随机位置出现。怪物研磨机的目标是将所有怪物移动到网格的右上角,无论它们最初出现在哪里。为了实现这一目标,每个格子(右上角的格子除外)上都放置有一个指定方向(上、右、下或左)的传送带。位于传送带上的怪物会沿着传送带指定的方向移动到正交相邻的格子上。
你的任务是在每个格子(右上角除外)上放置一个传送带,使得无论怪物出现在网格的哪个位置,经过有限的时间后,它都会移动到右上角的格子,且永远不会离开网格的边界。然而,你对每种方向的传送带使用数量有限制:你的最终设计必须恰好包含 $U$ 个向上的传送带、$R$ 个向右的、$D$ 个向下的以及 $L$ 个向左的。
你需要设计多个怪物研磨机,每个研磨机都有关于每种类型传送带允许使用数量的规格说明。请为每个规格说明设计一个合法的怪物研磨机(如果可能的话)。
输入格式
输入的第一行包含一个整数 $T$ ($1 \le T \le 10^5$),表示你需要设计的怪物研磨机数量。
接下来的 $T$ 行中,每行包含六个空格分隔的整数,描述一个怪物研磨机的规格。前两个整数 $N$ 和 $M$ ($1 \le N, M$ 且 $N \cdot M \le 10^5$) 分别表示网格的行数和列数。最后四个整数 $U, R, D, L$ ($0 \le U, R, D, L$ 且 $U + R + D + L = (N \cdot M) - 1$) 表示你在设计中必须使用的每种传送带方向的次数。
保证所有 $T$ 个怪物研磨机的 $N \cdot M$ 之和不超过 $10^5$。
输出格式
输出 $T$ 个怪物研磨机的设计,每个规格对应一个。连续的设计之间用一个空行分隔。
如果无法根据给定的规格构建合法的怪物研磨机,请输出 impossible。否则,输出一个 $N \times M$ 的 ASCII 字符网格。右上角的格子必须是 *。网格中的每个其他字符必须是 U、R、D 或 L,分别代表该网格格子上传送带的方向。
本题对空格敏感。你必须用恰好一个空行(仅包含一个换行符)分隔每个怪物研磨机的设计。在最后一个怪物研磨机设计之后,你不得打印空行或任何其他多余的输出(尽管最后一行输出必须以换行符结尾)。请参阅样例输出,了解如何正确格式化你的怪物研磨机设计。
样例
样例输入 1
2 4 3 5 3 1 2 1 2 0 1 0 0
样例输出 1
RR* URU UDU ULL R*
样例输入 2
3 3 3 0 0 0 8 2 2 0 2 0 1 1 1 0 0 0 0
样例输出 2
impossible impossible *