아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Осеннее палиндромище

면접 대비

시간 제한1초메모리 제한1024 MB

요약
n×m 글자 행렬이 주어질 때 행과 열을 각각 임의로 바꾸어 모든 행과 모든 열이 회문이 되도록 만들 수 있는지 판정한다.
난이도

보통10점 중 5점

유형
행렬, 정렬, 구현, 조합론
정답자
아직 제출이 없습니다

문제

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

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

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

  • поменять местами два столбца матрицы, не меняя порядок клеток в них;
  • поменять местами две строки матрицы, также не изменяя порядок клеток в них.

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

입력

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

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

출력

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

예제2

  1. 예제 1

    입력
    3 3
    aar
    aar
    bbc
    
    예상 출력
    YES
    
  2. 예제 2

    입력
    2 5
    aboba
    ababa
    
    예상 출력
    NO