#821. Segmentation Fault

Segmentation Fault

Background

lm学长居然没有补题,请你帮帮他A掉这题

Description

L形是网格纸上的图形,看起来像下面的前四张图片。L形正好包含三个阴影单元(用*表示),可以以任何方式旋转。

你将获得一个矩形网格。确定它是否仅包含 L 形,其中 L 形互相不能触及边缘或角。更正式地说:

  • 网格中的每个着色单元格都是一个 L 形的一部分
  • 没有两个 L 形通过边缘或角相邻。

例如,上图中的最后两个网格满足条件,因为两个 L 形分别按角和边接触。

Input

输入由多个测试用例组成。第一行包含一个整数t(1t100) — 测试用例的数量。测试用例的说明如下。

每个测试用例的第一行包含两个整数nm(1n,m50) — 网格中的行数和列数。

然后n行紧随其后,每个行都包含m字符。这些字符中的每一个都是“.”或“*”,分别是空单元格或阴影单元格。 不存在全部是 “.” 的情况

Output

对于每个测试用例,如果网格由不共享边或角的 L 形组成,则输出“YES”,否则输出“NO”。

Samples

10
6 10
........**
.**......*
..*..*....
.....**...
...*.....*
..**....**
6 10
....*...**
.**......*
..*..*....
.....**...
...*.....*
..**....**
3 3
...
***
...
4 4
.*..
**..
..**
..*.
5 4
.*..
**..
....
..**
..*.
3 2
.*
**
*.
2 3
*..
.**
3 2
..
**
*.
3 3
.**
*.*
**.
3 3
..*
.**
..*
YES
NO
NO
NO
YES
NO
NO
YES
NO
NO

Limitation

1s, 1024KiB for each test case.