グリッドにサイクルは存在するか?

高さが h、幅が w のグリッドがあり、各マスに文字が入っています。同じ文字のマスのみを連続して移動できるとき(たとえば a だけを辿るなど)、ある地点で以前に訪れたマスに再び到達できるかを考えます。ただし、先ほどいたマスにそのまま戻ることはできません。移動は水平方向または垂直方向に隣接するマスのみ許されます。

要するに、グリッド上で同じ文字がつながって「サイクル」を形成しているかどうかを確かめたいという問題です。

入力

最初の行には、hw(1 ≤ h, w ≤ 200)の2つの整数が与えられます。

続く h 行には、それぞれ w 個の小文字のラテン文字が並んでいます。

出力

もし同じ文字によるサイクルがグリッド内に存在するならば Yes を、存在しないならば No を出力してください。

Input

Output

4 4
aaaa
abba
abbc
aaaa

Yes

4 4
aaaa
abba
abdc
aaaa

No

4 4
aaaa
abba
abda
aaaa

Yes

4 4
ccca
cdcc
ccec
fccc

Yes

3 3
abb
bcb
bba

No

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue