内存杀手

题目背景

我们伟大的KK突然想到了一个很高(Shā)明(bī)的问题。

题目描述

我们伟大的KK最近一段时间突然迷上了电影,但是他从来不去电影院,因为他口袋里没有一分钱,更因为没人陪他去!但是KK不是这么容易就会屈服于命远的,他从爸爸那里“偷”来了电脑,没日没夜的进入了疯狂刷电影状态。显然我们的KK在任何情况下都会出现问题的:KK习惯于用“百度影音”这个神奇的软件。众所周知,这个软件具备一个牛犇的功能,他可以一边看一边下载,然后,KK每次都不会在线观看,而是连着wifi(哇~~还说没钱!)看,然后的然后KK发现电脑开始变得卡起来了,为了在爸爸突击检查时能够准确准时的将电脑关闭归位,KK不得不干起了电脑修理师的工作。KK翻查了注册表(这都懂?!牛~),发现罪魁祸首竟是存在于一个内存区域中的一个正方形方阵。现在我们的KK简单的称呼这种方阵为“内存杀手”,他对于这个“内存杀手”的定义是边长大于1,且在旋转了180°之后方阵仍与原来保持不变,如: 00 10 101 00 01 111 101 当然,一个内存区域中“内存杀手”可能不止一个的,现在我们的KK想找出这个方阵中最大的“内存杀手”的边长。

输入输出格式

输入格式


共N+1行,第一行两个整数N、M,表示内存矩阵的大小。第2~N+1行,每行M个字符表示内存矩阵。

输出格式


共1行,即最大的内存杀手边长;若不存在,则输出-1。

输入输出样例

输入样例 #1

3 6
101010
111001
101001

输出样例 #1

3

说明

30%的数据 0<N,M≤100; 60%的数据 0<N,M≤200; 100%的数据 0<N,M≤300。