F. L-фигуры
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

L-фигура это фигура на клетчатой бумаге, выглядящая как одна из четырех первых фигур на картинке ниже. L-фигура содержит ровно три закрашенных клетки (обозначаемых как *), которые могут быть повернуты в любую сторону.

Вам дана прямоугольная сетка из клеток. Определите, содержит ли она только L-фигуры, которые не соприкасаются друг с другом ни одним углом и ни одной стороной. Более формально:

  • Каждая закрашенная клетка в сетке является частью ровно одной L-фигуры и
  • нет двух L-фигур, которые бы соприкасались углом или стороной.

Например, последние две сетки на картинке выше не удовлетворяют требованиям, потому что есть две L-фигуры, соприкасающихся углами и стороной соответственно.

Входные данные

Входные данные состоят из множества тестовых случаев. Первая строка содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 100$$$) — количество тестовых случаев. Затем следуют описания тестовых случаев.

Первая строка каждого тестового случая содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \leq n, m \leq 50$$$) — количество строк и столбцов в сетке соответственно.

Затем следуют $$$n$$$ строк, содержащих $$$m$$$ символов. Каждый символ это либо «.», либо «*» — пустая или закрашенная клетка соответственно.

Выходные данные

Для каждого тестового случая выведите «YES» если сетка состоит только из L-фигур, не касающихся друг друга углами или сторонами, иначе «NO».

Вы можете выводить ответ в любом регистре (например, строки «yEs», «yes», «Yes» and «YES» будут считаться за положительный ответ).

Пример
Входные данные
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