목수
시간 제한2초메모리 제한128 MB
흑백 격자판에서 겹치지 않는 삼각형 조각 두 개를 잘라 색이 번갈아 나타나는 가장 큰 정사각형 체스판을 만듭니다.
문제
바이트아사르는 체커를 한 판 두고 싶은데, 체스판이 어디로 갔는지 보이지 않는다. 대신 찾아낸 것은 크기의 나무판으로, 크기가 같은 정사각형 칸 개로 나뉘어 있다. 각 칸은 흰색이나 검은색으로 칠해져 있지만, 색이 체스판처럼 번갈아 놓여 있다는 보장은 없다.
그래서 바이트아사르는 목수 경험을 살려 톱으로 체스판을 잘라내려 한다. 여기서 체스판이란 정사각형 칸으로 이루어진 정사각형이고, 변을 맞대고 있는 두 칸의 색이 항상 서로 다른 것을 말한다. 칸 하나뿐인 정사각형은 변을 맞댄 칸의 쌍이 없으므로 이것도 체스판이다.
나무판에 원하는 크기의 체스판이 그대로 들어 있지 않을 수도 있다. 그래서 바이트아사르는 삼각형 조각 두 개를 잘라낸 다음 서로 붙여서 체스판을 만들기로 했다. 두 조각은 겹치지 않아야 하지만, 잘라낸 뒤에는 마음대로 돌려서 붙일 수 있다.
조각은 이렇게 잘라낸다. 나무판에서 한 변이 칸인 정사각형 영역을 하나 고르고, 그 영역의 대각선을 따라 톱질하면 삼각형 조각 하나를 얻는다. 두 직각변은 칸의 경계선을 따라가고 빗변은 칸의 꼭짓점을 지나므로, 빗변이 지나가는 칸은 정확히 절반으로 갈라진다. 이렇게 얻은 조각 두 개를 빗변끼리 맞대어 붙이면 정사각형이 된다. 빗변에서 만난 두 반쪽은 완성된 정사각형의 한 칸이 되므로 색이 같아야 한다.
두 조각은 서로 겹칠 수 없다. 다만 톱날이 지나간 칸의 두 반쪽을 서로 다른 조각이 하나씩 가져가는 것은 겹치는 것이 아니다. 아래 그림은 나무판에서 삼각형 두 개를 잘라내 체스판을 만드는 예이다.

이 방법으로 만들 수 있는 체스판의 가장 큰 크기를 구하라.
입력
첫째 줄에 나무판의 크기를 나타내는 두 정수 과 이 주어진다. ()
다음 개 줄에는 각각 개의 정수가 주어진다. 번째 줄의 번째 수는 번째 행과 번째 열이 만나는 칸의 색이고, 은 흰색, 은 검은색이다. (, )
출력
삼각형 조각 두 개를 잘라 붙여서 만들 수 있는 가장 큰 체스판의 한 변에 놓인 칸의 수를 정수 하나로 출력한다.