Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ACM-ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

B. Fox And Two Dots

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputFox Ciel is playing a mobile puzzle game called "Two Dots". The basic levels are played on a board of size *n* × *m* cells, like this:

Each cell contains a dot that has some color. We will use different uppercase Latin characters to express different colors.

The key of this game is to find a cycle that contain dots of same color. Consider 4 blue dots on the picture forming a circle as an example. Formally, we call a sequence of dots *d*_{1}, *d*_{2}, ..., *d*_{k} a cycle if and only if it meets the following condition:

- These
*k*dots are different: if*i*≠*j*then*d*_{i}is different from*d*_{j}. -
*k*is at least 4. - All dots belong to the same color.
- For all 1 ≤
*i*≤*k*- 1:*d*_{i}and*d*_{i + 1}are adjacent. Also,*d*_{k}and*d*_{1}should also be adjacent. Cells*x*and*y*are called adjacent if they share an edge.

Determine if there exists a cycle on the field.

Input

The first line contains two integers *n* and *m* (2 ≤ *n*, *m* ≤ 50): the number of rows and columns of the board.

Then *n* lines follow, each line contains a string consisting of *m* characters, expressing colors of dots in each line. Each character is an uppercase Latin letter.

Output

Output "Yes" if there exists a cycle, and "No" otherwise.

Examples

Input

3 4

AAAA

ABCA

AAAA

Output

Yes

Input

3 4

AAAA

ABCA

AADA

Output

No

Input

4 4

YYYR

BYBY

BBBY

BBBY

Output

Yes

Input

7 6

AAAAAB

ABBBAB

ABAAAB

ABABBB

ABAAAB

ABBBAB

AAAAAB

Output

Yes

Input

2 13

ABCDEFGHIJKLM

NOPQRSTUVWXYZ

Output

No

Note

In first sample test all 'A' form a cycle.

In second sample there is no such cycle.

The third sample is displayed on the picture above ('Y' = Yellow, 'B' = Blue, 'R' = Red).

Codeforces (c) Copyright 2010-2019 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Mar/24/2019 17:07:51 (f1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|