Вадим давно мечтал найти хорошо оплачиваемую работу, и тут он узнал, что в авиакомпанию «Беда» требуется инженер по разработке веб сайтов. Но поговаривают, что в этой компании дают очень сложные задания на собеседованиях, поэтому Вадим решил отправить своего студента на разведку.
Оказалось, что на собеседовании соискателям на должность предлагают решить головоломку. В одном столе размером $$$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» можно выводить в любом регистре.
33 3N.NN..NN.3 4F.F....F.FFF3 3N.NN..NN.3 4FFF...F.F..F3 1N.N1 1F
Yes No No