K. Тестовое задание
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вадим давно мечтал найти хорошо оплачиваемую работу, и тут он узнал, что в авиакомпанию «Беда» требуется инженер по разработке веб сайтов. Но поговаривают, что в этой компании дают очень сложные задания на собеседованиях, поэтому Вадим решил отправить своего студента на разведку.

Оказалось, что на собеседовании соискателям на должность предлагают решить головоломку. В одном столе размером $$$n_1 \times m_1$$$ просверлены отверстия, а на другом столе размером $$$n_2 \times m_2$$$ расположены фигуры, которые представляют из себя призмы со специальным датчиком на дне.

Задание соискателя состоит в том, чтобы заполнить каждое отверстие одной из фигур, лежащих на столе. Дополнительная сложность заключается в том, что каждое отверстие должно быть заполнено полностью, то есть совпадать по форме с помещенной в него фигурой. Проверка корректности решения соискателя происходит автоматически с помощью специальных датчиков, поэтому нельзя переворачивать фигуры вверх дном. Разрешается не использовать некоторые из фигур.

Студент не смог самостоятельно справиться с заданием, но зато смог сделать две фотографии столов из задания. Теперь у Вадима на руках оказались фотографии с заданием, но он, как и его студент, тоже не смог справиться с заданием. Поэтому Вадим начал подозревать, а решается ли задание в принципе.

Чтобы проверить свою гипотезу, он отправил вам фотографии задания и попросил вас о помощи.

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

В первой строке указано целое число $$$t$$$ ($$$1 \le t \le 1\,000$$$) — количество наборов входных данных. Далее следует описание наборов.

В первой строке каждого набора указана пара чисел $$$n_1$$$ и $$$m_1$$$ ($$$1 \le n_1, m_1 \le 1\,000$$$) — высота и ширина стола с отверстиями.

Следующие $$$n_1$$$ строк состоят из $$$m_1$$$ символов «.» или «N» и описывают конфигурацию первого стола. Очередным отверстием считается связанное по сторонам множество клеток, в которых записан символ «N».

Далее в наборе следует пара чисел $$$n_2$$$ и $$$m_2$$$ ($$$1 \le n_2, m_2 \le 1\,000$$$) — высота и ширина стола с фигурами.

Следующие $$$n_2$$$ строк состоят из $$$m_2$$$ символов «.» или «F» и описывают конфигурацию второго стола. Фигурой считается связанное по сторонам множество клеток, в которых записан символ «F».

Гарантируется, что сумма $$$n_1 \cdot m_1$$$ и сумма $$$n_2 \cdot m_2$$$ по всем наборам входных данных не превышает $$$1\,000$$$. Также гарантируется, что каждая фигура и каждое отверстие помещаются в квадрат $$$7 \times 7$$$.

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

Для каждого набора входных данных в отдельной строке выведите «Yes», если задание можно решить, и «No» в ином случае. Буквы слов «Yes» и «No» можно выводить в любом регистре.

Пример
Входные данные
3
3 3
N.N
N..
NN.
3 4
F.F.
...F
.FFF
3 3
N.N
N..
NN.
3 4
FFF.
..F.
F..F
3 1
N
.
N
1 1
F
Выходные данные
Yes
No
No