#1298. Problem E.L 型覆盖检查器

Problem E.L 型覆盖检查器

本题中,你需要实现上一题的输出检查器。

给定一个 nnmm 列的网格,行按从上到下的顺序从 11nn 编号,列按从左到右的顺序从 11mm 编号。现在有任意多个 1+11+1 L 型(如下图所示),你已经使用了一些 L 型覆盖网格,但你不知道你是否正确地覆盖了网格。

image

你的覆盖方案可以表示为 nn 行长度为 mm 的字符串。字符串中仅包含 UDLRC. 六种字符,第 ii 行第 jj 个字符表示第 ii 行第 jj 列网格的覆盖情况。字符 . 表示单元格没有被覆盖,如果覆盖方案中只有一个.,且这个 . 位于第 11 行第 mm 列,则这个覆盖方案是正确的,否则是错误的。字符 \t{C} 表示 L 型的中心(即上图中的 L 型的左下角)。字符 \t{UDLR} 分别表示这个单元格的\textbf{上、下、左、右}单元格是覆盖这一单元格的 L 型的中心。如果所有 L 型都是完整的,且每个单元格都仅被一个 L 型覆盖,则这个覆盖方案是正确的,否则是错误的。

给出一些覆盖方案,请判断这些方案是否是正确的。

Input

第一行一个整数 TT1T1041\le T\le 10^4),表示测试数据组数。

对于每组数据,第一行两个整数 n,mn,m2n,m5002\le n,m\le 500),表示网格大小。

接下来 nn 行,每行一个长为 mm 的字符串,字符串仅由 UDLRC. 六种字符组成。第 ii 行字符串的第 jj 个字符表示网格中第 ii 行第 jj 列的覆盖情况。

保证所有测试数据 n×mn\times m 之和不超过 10610^6

Output

对于每组数据,如果覆盖方案正确,输出一行 Yes,否则输出 No

2
4 4
CLD.
UDCL
DCLD
CLRC
2 3
DRC
CLU
Yes
No