Вращающиеся кольца
Любая квадратная сетка может быть представлена как одно или несколько вложенных колец. Например, как показано на рисунке (a), 5×5 сетка состоит из трех колец, пронумерованных 1, 2 и 3 (снаружи внутрь). Квадратная сетка размера N считается отсортированной, если она содержит значения от 1 до N^2 в порядке строк, как показано на рисунке (b) для N = 4. Мы хотим выяснить, можно ли отсортировать данную квадратную сетку, вращая только её кольца. Например, сетка на рисунке (c) может быть отсортирована, если повернуть первое кольцо на два места против часовой стрелки и второе кольцо на одно место по часовой стрелке.
Входные данные
Ваша программа будет проверяться на одном или нескольких тестовых случаях. Первая строка каждого тестового случая содержит целое число N, которое обозначает размер сетки. Далее следуют N строк, каждая из которых содержит N целых чисел, представляющих значения в сетке в порядке строк. Учтите, что 0 < N ≤ 1000, а значения в сетке — это натуральные числа, не превышающие 1000000.
Конец ввода определяется фиктивным тестовым случаем с N = 0.
Выходные данные
Для каждого тестового случая выведите результат в одной строке в следующем формате:
k. result
Где k — номер тестового случая (начиная с 1), а result — это "YES" или "NO" (без кавычек).