编程题
### 问题描述
有一个 $n\times m$ 的方格矩阵,每个方格都有一种颜色。
颜色最多不超过 $26$ 种,我们将使用不同的大写英文字母来表示不同的颜色。
你的任务是在矩阵中找到一个规模不小于 $4$ 的同色环。
也就是说,请你在矩阵中找到 $k$ 个**不同**的方格,要求它们能够同时满足:
1. $k\ge4$。
2. $k$ 个方格的颜色相同。
3. 将这 $k$ 个方格按某种顺序编号为 $1\sim k$ 后,能够满足方格 $1$ 与方格 $2$ 相邻、方格 $2$ 与方格 $3$ 相邻...方格 $k−1$ 与方格 $k$ 相邻、方格 $k$ 与方格 $1$ 相邻。如果两个方格存在公共边,则称两个方格相邻。
例如下面颜色为 $B$ 的 $4$ 个方格构成了一个同色环。
```text
GGG
GBB
GBB
```
请你判断,在给定矩阵中是否存在满足条件的同色环。
### 输入格式
第一行输入两个整数表示 $n,m$。
接下来 $n$ 行,每行包含一个长度为 $m$ 的由大写字母构成的字符串,用来表示矩阵中每个方格的颜色。
### 输出格式
如果给定矩阵中存在满足条件的同色环,则输出 $\text{Yes}$,否则输出 $\text{No}$。
### 样例输入
```text
3 4
DDDD
DBCD
DDDD
```
### 样例输出
```text
Yes
```
### 评测数据规模
保证对于所有测试数据有:
$2\le n,m\le50$。