内存杀手
题目背景
我们伟大的KK突然想到了一个很高(Shā)明(bī)的问题。
题目描述
我们伟大的 KK 最近一段时间突然迷上了电影,但是他从来不去电影院,因为他口袋里没有一分钱,更因为没人陪他去!但是 KK 不是这么容易就会屈服于命远的,他从爸爸那里“偷”来了电脑,没日没夜的进入了疯狂刷电影状态。
显然我们的 KK 在任何情况下都会出现问题的:KK 习惯于用“百度影音”这个神奇的软件。众所周知,这个软件具备一个牛犇的功能,他可以一边看一边下载,然后,KK 每次都不会在线观看,而是连着 wifi(哇\~\~还说没钱!)看,然后的然后KK发现电脑开始变得卡起来了,为了在爸爸突击检查时能够准确准时的将电脑关闭归位,KK 不得不干起了电脑修理师的工作。
KK 翻查了注册表(这都懂?!牛~),发现罪魁祸首竟是存在于一个内存区域中的一个正方形方阵。现在我们的 KK 简单的称呼这种方阵为“内存杀手”,他对于这个“内存杀手”的定义是边长大于 $1$,且在旋转了 $180\degree$ 之后方阵仍与原来保持不变,如:
$$
\begin{bmatrix}
0 & 0 \\
0 & 0
\end{bmatrix},
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix},
\begin{bmatrix}
1 & 0 & 1 \\
1 & 1 & 1 \\
1 & 0 & 1
\end{bmatrix}
$$
当然,一个内存区域中“内存杀手”可能不止一个的,现在我们的 KK 想找出这个方阵中最大的“内存杀手”的边长。
输入输出格式
输入格式
共 $N+1$ 行,第一行两个整数 $N,M$,表示内存矩阵的大小。第 $2 \sim N+1$ 行,每行 $M$ 个字符表示内存矩阵。
输出格式
共一行,即最大的内存杀手边长;若不存在,则输出 $-1$。
输入输出样例
输入样例 #1
3 6
101010
111001
101001
输出样例 #1
3
说明
### 数据范围及约定
- 对于 $30\%$ 的数据 $0<N$,$M \le 100$;
- 对于 $60\%$ 的数据 $0<N$,$M \le 200$;
- 对于 $100\%$ 的数据 $0<N$,$M \le 300$。