Esiste un ciclo nella griglia?

Data una griglia di altezza h e larghezza w riempita di lettere, è consentito muoversi solo su celle che contengono la stessa lettera. Camminando sempre su lettere uguali (ad esempio solo su 'a' o solo su 'b', ecc.), la domanda è se sia possibile ritornare su una cella già visitata. Nota che non è consentito tornare immediatamente alla cella precedente. È permesso muoversi soltanto in orizzontale o in verticale verso le celle adiacenti.

In altre parole, ci si chiede se nella griglia esista un ciclo formato da lettere identiche.

Input

La prima riga dell’input contiene due numeri interi h e w (1 ≤ h, w ≤ 200).

Le successive h righe contengono w caratteri alfabetici in minuscolo (lettere dell'alfabeto latino).

Output

Il programma deve stampare Yes se esiste un ciclo nella griglia e No altrimenti.

Examples

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