B1. Восстановление многоугольника (лёгкая)
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Зомби собираются в своём секретном убежище! Хайди планирует нанести удар, чтобы уничтожить их всех раз и навсегда. Однако, имеется небольшая проблема... Перед тем как она нанесёт удар, необходимо определить, где же именно находится убежище. Имеющиеся разведданные не очень хороши.

Хайди знает, что убежище можно представить как прямоугольник на решётке, со сторонами параллельными осям координат. Каждая вершина многоугольника расположена в точке с целочисленными координатами. Для каждой клетки решётки Хайди знает её уровень загрязнения зомби. Этот уровень представляется как целое число от 0 до 4 и равен количеству углов данной клетки, которые находятся внутри или на границе прямоугольника.

В качестве теста Хайди хочет проверить, что её тестер уровня проверки загрязнения зомби работает. По данному выводу тестера определите, мог ли он быть порождён одним убежищем в форме прямоугольника ненулевой площади, со сторонами параллельными осям координат.

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

В первой строке каждого теста содержится единственное целое число n — размер решётки (5 ≤ n ≤ 50). В каждой из последующих n строк записаны n символов, описывающих уровень загрязнения зомби в каждой из клеток поля. Каждый символ каждой строки является цифрой от 0 до 4.

Клетки даны в том же порядке, что и на картинке выше: строки нумеруются в порядке уменьшения y координаты, и в каждом ряду клетки даны в порядке увеличения x координаты. Это означает, что первый ряд соответствует клеткам с координатами (1, n), ..., (n, n), а последний ряд соответствует клеткам с координатами (1, 1), ..., (n, 1).

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

Первая строка выходных данных должна содержать Yes, если существует единственный прямоугольник ненулевой площади с углами в узлах сетки, определяющий соответствующие уровни загрязнения зомби. В противном случае, единственная строка выходных данных должна содержать No.

Пример
Входные данные
6
000000
000000
012100
024200
012100
000000
Выходные данные
Yes
Примечание

Убежище, если оно существует, должно быть прямоугольником с вершинами в узлах сетки (x1, y1), (x1, y2), (x2, y1), (x2, y2), иметь ненулевую площадь и содержаться внутри сетки (то есть 0 ≤ x1 < x2 ≤ n, 0 ≤ y1 < y2 ≤ n), а результат вычисления уровня загрязнения зомби должен совпадать с указанным во входных данных.