eolymp
bolt
Try our new interface for solving problems
Problems

Two-dimensional domino (RU)

Two-dimensional domino (RU)

\includegraphics{https://static.e-olymp.com/content/6c/6c234b1ecf65ff0aa26c6154858910aa9a43b294.jpg} Каждый элемент двумерного домино представляет собой квадрат, стороны которого несут на себе числа от \textbf{0} до \textbf{3}, записанные в двоичной системе счисления. Домино считается сложенным правильно, если каждая пара квадратов домино, имеющих общую сторону, несёт на этой стороне одно и то же число. Необходимо определить, правильно ли составлено домино и можно ли добавить к нему ещё один заданный элемент так, чтобы он имел общую сторону хотя бы с одним из исходных квадратов. При добавлении элемент можно произвольно вращать, но не переворачивать. \InputFile В первой строке входного файла через пробел размеры прямоугольника, заключающего в себе уже составленное домино: \textbf{2} ≤ \textbf{N}, \textbf{M} ≤ \textbf{100}. Каждая из следующих \textbf{N} строк содержит через пробел описания М позиций в прямоугольнике в следующем виде: • пустая позиция обозначается \textbf{ZZ}; • элемент, занимающий непустую позицию, задаётся шестнадцатеричным текстовым представлением одного байта, в котором каждые два бита указывают число на одной из сторон. Стороны перечисляются по часовой стрелке, начиная с левой. Последняя строка содержит описание элемента, который предлагается добавить к уже составленному набору. Предполагается, что добавление происходит в пределах того же прямоугольника \textbf{N×M}. \OutputFile В выходном файле должно содержаться одно из трёх слов: • \textbf{ERROR} (домино составлено неправильно); • \textbf{YES} (домино составлено правильно, элемент добавить можно); • \textbf{NO} (домино составлено правильно, но элемент добавить нельзя).
Time limit 1 second
Memory limit 64 MiB
Input example #1
2 2
50 ZZ
8D FF
3F
Output example #1
YES