题目描述
Problem Description
While debugging a program, Mirko noticed that a bug in the program may be linked with the existence of so-called "square killers" in the program memory. The program memory is a matrix composed of R rows and C columns consisting only of zeroes and ones. A "square killer" is a square submatrix in memory, consisting of more than one character, that, when rotated 180 degrees, looks exactly the same. For example, the following matrix contains 3 "square killers":

Mirko is wondering if there is a connection between the size of the largest "square killer" and the bug in the program. Help Mirko by writing a program that, given the layout of the memory, outputs the size of the largest "square killer". The size of the "square killer" is the number of rows (or columns) that the killer consists of. In the example above, the killer sizes are 2, 2, and 3, respectively.
Input Format
The first line will contain two integers, R and C, smaller than or equal to 300.
The next R lines will each contain C characters ('0' or '1') with no spaces.
Output Format
Output the size of the largest "square killer" on a single line, or output -1 if there are no "square killers".
Sample Input and Output
Sample Input #1
3 6
101010
111001
101001
Sample Output #1
3
Sample Input #2
4 5
10010
01010
10101
01001
Sample Output #2
3
Sample Input #3
3 3
101
111
100
Sample Output #3
-1
输入格式
见题面 Input 部分
输出格式
见题面 Output 部分