Хтось із вас бачив сніжинку, яка не має осей симетрії? Я до сьогодні твердо переконаний, що таких сніжинок просто не існує! У когось є інша думка? Що ж, щоб довести це, достатньо принести і показати мені таку сніжинку :)
Тепер по суті. У нас є закодована інформація про … Ми не знаємо про що, але підозрюємо, що перед Новим роком нам могли б прислати зображення ексклюзивної сніжинки. Можна вважати, що сніжинка має 4 осі симетрії: вертикальну, горизонтальну та дві діагональних.
Отримана інформація - це квадратна таблиця заповнена цілими числами. Однаковим узорам сніжинки мають відповідати однакові числа. Вам треба написати програму, яка визначить чи може бути в таблиці приховане зображення сніжинки.
Формат вихідних даних
У першому рядку вхідного потоку знаходиться одне ціле число \(N\) \((0 < N \le 100)\).
У наступних \(N\) рядках знаходиться по \(N\) цілих чисел не більших 100. Це і є закодована інформація.
Формат вихідних даних
У вихідний потік вивести «YES» у випадку, коли розшифрована інформація є сніжинкою. Якщо ж дана таблиця не є прихованою сніжинкою, то у першому рядку вивести «NO», а в другому – одне число від 0 до 3 – кількість наявних осей симетрії.
Пояснення.
У першому прикладі є одна вісь симетрії - горизонтальна, яка проходить через другий рядок. У випадку непарної кількості рядків (стовбців) середній рядок (стовбець) симетричний сам собі.
Приклад вхідних даних
3
1 2 3
1 2 3
1 2 3
Приклад вихідних даних
NO
1
Приклад вхідних даних
3
1 2 1
2 1 2
1 2 1
Приклад вихідних даних
YES
Коментарі