디버그

시간 제한5초메모리 제한128 MB

문제

상근이는 프로그램을 디버깅하다가, 프로그램 메모리 안의 어떤 정사각형 패턴이 버그와 깊은 관련이 있다는 사실을 알게 되었다.

프로그램 메모리는 01로만 이루어진 RC열 행렬이다.

정사각형 킬러는 한 글자보다 큰 정사각형 부분 행렬 중에서, 그 부분 행렬을 180도 회전해도 원래 모습과 같은 것이다. 즉, 크기가 K인 정사각형 킬러는 모든 0 <= i, j < K에 대해 왼쪽 위에서 (i, j)에 있는 문자와 오른쪽 아래에서 대칭인 (K-1-i, K-1-j)에 있는 문자가 같다.

프로그램 메모리가 주어졌을 때, 가장 큰 정사각형 킬러의 크기를 구하시오. 정사각형 킬러의 크기는 부분 행렬의 행 개수이자 열 개수이다.

입력

첫째 줄에 300보다 작거나 같은 자연수 RC가 주어진다.

다음 R개의 줄에는 길이가 C인 문자열이 주어진다. 각 문자는 0 또는 1이며, 문자 사이에 공백은 없다.

출력

가장 큰 정사각형 킬러의 크기를 출력한다.

정사각형 킬러가 하나도 없다면 -1을 출력한다.