만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

가을 메가팰린드롬

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

요약
글자가 적힌 n×m 격자에서 행과 열의 순서를 바꿔 모든 행과 열이 회문이 될 수 있는지 판별합니다.
난이도

보통10점 중 6점

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

문제

아이들은 날씨가 좋은 날이면 공원에서 노는 것을 특히 좋아합니다. 오늘은 유난히 따뜻하고 화창해서, 아이들은 서로를 오래 붙잡아 둘 긴 게임을 하기로 했습니다.

게임을 위해 아이들은 정사각형 종이 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