짝 맞추기

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

m×nm \times n 크기의 직사각형 판에서 혼자 하는 보드 게임이 있다. 판의 각 칸에는 처음부터 동물 한 마리나 장애물 하나가 놓여 있다. 문자 'X'는 장애물을 뜻하고, '0'부터 '9'까지의 숫자는 그 칸에 있는 동물의 종류를 뜻한다.

같은 종류인 동물 두 마리만 함께 없앨 수 있다. 두 마리를 없애면 그 두 칸은 빈칸이 되고, 게임이 끝날 때까지 빈칸으로 남는다. 장애물이 놓인 칸은 빈칸이 되지 않는다.

두 마리를 없애려면 두 칸이 서로 인접하거나, 두 칸을 잇는 경로가 있어야 한다. 두 칸이 가로나 세로로 맞닿아 있으면 인접하다고 한다. 경로는 서로 인접한 빈칸을 차례로 이어 놓은 것이고, 경로의 길이는 그 경로에 들어간 빈칸의 개수다. 동물이 놓인 두 칸은 경로에 포함하지 않는다. 두 칸이 인접하면 경로가 필요 없으므로 더해지는 길이는 0이다.

없앨 수 있는 짝의 최대 개수와, 그 최대 개수를 만들면서 쓰는 경로 길이 합의 최솟값을 출력하라.

입력

첫째 줄에 두 정수 mmnn이 공백으로 구분되어 주어진다. (1m51 \le m \le 5, 1n51 \le n \le 5)

다음 mm개 줄에는 각각 nn개의 문자가 주어진다. 각 문자는 'X'이거나 '0'부터 '9'까지의 숫자이며, 문자 사이에 공백은 없다.

출력

두 정수를 공백으로 구분해 한 줄에 출력한다. 첫 번째 정수는 없앨 수 있는 짝의 최대 개수이고, 두 번째 정수는 그 최대 개수를 만들 때 필요한 경로 길이 합의 최솟값이다.