#codefestival2017qualac. [code_festival_2017_quala_c]Palindromic Matrix

[code_festival_2017_quala_c]Palindromic Matrix

問題文

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

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

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

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

注釈

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

制約

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

入力

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

HH WW a11a_{11}a12a_{12}......a1Wa_{1W} :: aH1a_{H1}aH2a_{H2}......aHWa_{HW}

出力

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


入力例 1

3 4
aabb
aabb
aacc

出力例 1

Yes

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

abba
acca
abba

入力例 2

2 2
aa
bb

出力例 2

No

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


入力例 3

5 1
t
w
e
e
t

出力例 3

Yes

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

t
e
w
e
t

入力例 4

2 5
abxba
abyba

出力例 4

No

入力例 5

1 1
z

出力例 5

Yes