구역 선점

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

문제

두 플레이어 $0$번과 $1$번이 $n \times n$ 판에서 게임을 한다. 일부 칸에는 이미 0 또는 1이 놓여 있고 나머지는 빈 칸이다. 플레이어 $0$번부터 시작해 번갈아 차례를 가지며, 자신의 차례에 현재 플레이어는 빈 칸 하나에 자신의 숫자를 적는다. 판이 가득 찰 때까지 계속한다.

판이 가득 차면 각 플레이어의 점수는 그 플레이어의 숫자로 이루어진 가장 큰 연결 영역의 크기이다. 어떤 영역이 연결되어 있다는 것은, 같은 숫자가 적힌 칸들 사이를 상하좌우 이동만으로 영역 안의 임의의 두 칸을 오갈 수 있다는 뜻이다. 대각선 이동으로는 칸이 연결되지 않는다. 점수가 더 높은 플레이어가 이기고, 두 점수의 차이만큼 점수를 얻는다.

지금은 현재 플레이어의 차례이다. 판에 놓인 0의 개수와 1의 개수가 같으면 현재 플레이어는 $0$번이고, 01보다 정확히 하나 많으면 현재 플레이어는 $1$번이다. 이제부터 두 플레이어가 모두 최적으로 둔다고 할 때, 현재 플레이어가 둘 최선의 칸과 그때 얻을 수 있는 최선의 점수 합, 즉 자신의 최종 점수에서 상대의 최종 점수를 뺀 값(음수일 수도 있다)을 구하라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다.

각 테스트 케이스는 판의 크기인 양의 정수 $n$ ($n \le 8$)이 적힌 줄로 시작한다. 이어지는 $n$개의 줄은 $0$번 행부터 차례대로 판을 나타내며, 각 줄은 $n$개의 문자로 이루어지고 각 문자는 0, 1, 또는 빈 칸을 뜻하는 . 중 하나이며 $0$번 열이 가장 앞에 온다. 판에 놓인 0의 개수는 1의 개수와 같거나 정확히 하나 더 많으며, 빈 칸은 $1$개 이상 $10$개 이하이다.

마지막 테스트 케이스 다음에는 0 하나만 있는 줄이 오며, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스마다 한 줄에 현재 플레이어의 최선의 수와 최선의 점수 합을 (row,col) total 형식으로 출력한다. 행과 열 번호는 $0$부터 시작한다. 같은 최선의 점수 합을 얻는 수가 여럿이면, (행, 열)의 사전 순으로 가장 앞서는 수를 출력한다.