atcoder#ARC095C. [ARC095E] Symmetric Grid

[ARC095E] Symmetric Grid

配点 : 700700

問題文

HHWW 列のマス目があり,各マスには英小文字が書かれています. 具体的には,上から ii 行,左から jj 列目のマスに書かれている文字は,文字列 SiS_ijj 文字目に等しいです.

すぬけ君は,このマス目に対して次の操作を好きな回数行うことができます:

  • 22 つの異なる行を選び,入れ替える.または,22 つの異なる列を選び,入れ替える.

すぬけ君は,このマス目が点対称的になるようにしたいです. すなわち,任意の 1iH1 \leq i \leq H, 1jW1 \leq j \leq W に対して,マス目の上から ii 行,左から jj 列目に書かれている文字と,マス目の上から H+1iH + 1 - i 行,左から W+1jW + 1 - j 列目に書かれている文字が等しくなるようにしたいです.

すぬけくんがこの目標を達成することが可能かどうか判定してください.

制約

  • 1H121 \leq H \leq 12
  • 1W121 \leq W \leq 12
  • Si=W|S_i| = W
  • SiS_i は英小文字のみからなる

入力

入力は以下の形式で標準入力から与えられる。

HH WW

S1S_1

S2S_2

::

SHS_H

出力

マス目を点対称的にできるなら YES を,できないなら NO を出力せよ.

2 3
arc
rac
YES

下の画像に示すように,左から 22 列目と 33 列目を入れ替えると,マス目が点対称的になります.

3 7
atcoder
regular
contest
NO
12 12
bimonigaloaf
faurwlkbleht
dexwimqxzxbb
lxdgyoifcxid
ydxiliocfdgx
nfoabgilamoi
ibxbdqmzxxwe
pqirylfrcrnf
wtehfkllbura
yfrnpflcrirq
wvcclwgiubrk
lkbrwgwuiccv
YES