Том разработал специальный вид головоломки: она включает в себя целую кучу одинаковых фигур. Они имеют форму трех квадратов, сложенных в виде буквы L. Квадрат в углу черный, два прилежащие к нему квадрата белые.
На вход головоломки подается картинка из черных и белых квадратов на прямоугольной сетке. Задача состоит в том, чтобы воссоздать эту картинку с помощью имеющихся фигур. Фигуры можно вращать, но они не должны перекрываться.
Том уже разработал несколько хороших картин, и он хочет узнать, могут ли они вообще быть сложены при помощи фигур. Вместо того, чтобы проверять это для каждой картинки вручную, он хочет написать программу, которая определит это для него. Вы можете помочь ему?
Первая строка содержит количество тестов, не более 100. Далее для каждого теста:
одна строка с двумя целыми числами n и m (1 ≤ n, m ≤ 500): высота и ширина сетки, содержащей картинку.
n строк, каждая из которых содержит m символов сетки. Символом может быть 'B', 'W' или '.', что соответствует черной, белой или пустой клетке соответственно.
Сетка содержит как минимум один черный или белый квадрат.
Для каждого теста вывести одну строку, содержащую "YES" или "NO" в зависимости от того, возможно ли сложить заданную картинку фигурками головоломки. Считайте, что количество фигурок неограничено.