Коровоконг обожает собирать пазлы.
Сейчас у него есть два одинаковых кусочка пазла, из которых требуется собрать прямоугольник. Каждый из кусочков описывается прямоугольником n на m, в каждой клетке которого стоит символ «X», если эта клетка является частью кусочка, и «.» если нет. Гарантируется, что все клетки кусочка образуют 4-связную (связную по стороне) область. Для лучшего понимания того, как задаётся один кусочек пазла, прочитайте формат входных данных и посмотрите на примеры.
Кусочки пазла очень тяжёлые, поэтому Коровоконг не может вращать или переворачивать их, однако разрешается делать параллельный перенос. Разумеется, после совмещения двух кусочков они не должны пересекаться.
Во входных данных вам даётся описание одного из двух одинаковых кусочков. Определите, можно ли совместить два кусочка и получить прямоугольник. Прямоугольник должен быть сплошным, то есть не должен содержать ни одной пустой клетки внутри или на границе. Не забывайте, что Коровоконг не может поворачивать или переворачивать кусочки пазла и что после наложения друг на друга кусочки не должны пересекаться, то есть никакие два «X» из разных кусочков не могут занимать одну клетку.
Выходные данные
Выведите «YES», если Коровоконг может собрать прямоугольник, и «NO» в противном случае.
Примечание
В первом примере можно собрать прямоугольник следующим образом:
111222
111222
Во втором примере без использования поворотов и переворотов собрать прямоугольник нельзя.
В третьем примере можно сдвинуть один из кусочков на один вправо и получить следующий прямоугольник:
.....
..XX.
.....
.....
.....
Примеры
| № | Входные данные | Выходные данные |
|
1
|
2 3 XXX XXX
|
YES
|
|
2
|
2 2 .X XX
|
NO
|
|
3
|
5 5 ..... ..X.. ..... ..... .....
|
YES
|