Осеннее палиндромище
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Дети очень любят развлекаться в парках, особенно, когда на улице хорошая погода. Вот и сегодня выдался на редкость теплый и солнечный день, поэтому дети решили занять друг друга особенно долгой игрой.

Для этой игры они заготовили $$$nm$$$ квадратных листов бумаги, на каждом из которых написана буква латинского алфавита, и выложили их в виде матрицы размера $$$n \times m$$$ ($$$n$$$ строк и $$$m$$$ столбцов).

Каждый ход в игре заключается в том, чтобы сделать одно из следующих двух действий:

Цель игры — получить мегапалиндромище, то есть матрицу, в которой каждая строка и каждый столбец являются палиндромами. Помогите детям понять, можно ли этого добиться, или же их игра не имеет смысла.

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

В первой строке ввода через пробел даны два целых числа $$$n$$$ и $$$m$$$ — размеры матрицы ($$$1 \leqslant n, m \leqslant 1000$$$).

Следующие $$$n$$$ строк содержат по $$$m$$$ символов и описывают матрицу, каждый символ — строчная буква латинского алфавита.

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

Выведите единственное слово «YES» (без кавычек), если можно сделать так, чтобы каждая строка и каждый столбец матрицы стали палиндромами, и слово «NO» иначе.

Примеры

Входные данные
3 3
aar
aar
bbc
Выходные данные
YES
Входные данные
2 5
aboba
ababa
Выходные данные
NO