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