atcoder#CODEFESTIVAL2017QUALAC. Palindromic Matrix

Palindromic Matrix

配点 : 400400

問題文

HH 行、横 WW 列の行列 AA があります。 上から ii 行目、左から jj 列目の要素を aija_{ij} とします。 各 aija_{ij} は英小文字です。

すぬけ君は、AA の要素を自由に並べ替え、縦 HH 行、横 WW 列の行列 AA' を作ろうとしています。 このとき、次の条件が成り立つようにします。

  • AA' のどの行およびどの列もそれぞれ回文になっている。

条件を満たす AA' が存在するか判定してください。

注釈

回文とは、前後を反転しても変わらない文字列のことです。 例えば、a, aa, abba, abcba は回文ですが、ab, abab, abcda は回文ではありません。

制約

  • 1H,W1001 \leq H, W \leq 100
  • aija_{ij} は英小文字である。

入力

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

HH WW

a11a_{11}a12a_{12}......a1Wa_{1W}

::

aH1a_{H1}aH2a_{H2}......aHWa_{HW}

出力

条件を満たす AA' が存在するならば Yes を、存在しないならば No を出力せよ。

3 4
aabb
aabb
aacc
Yes

例えば、次の AA' は条件を満たします。

abba
acca
abba
2 2
aa
bb
No

どのように AA の要素を並べ替えても、条件を満たす AA' を作れません。

5 1
t
w
e
e
t
Yes

例えば、次の AA' は条件を満たします。

t
e
w
e
t
2 5
abxba
abyba
No
1 1
z
Yes