内存杀手

题目背景

我们伟大的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$。