국보

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

문제

최근 국립 박물관의 대전시실이 여러 차례 도난을 당해, 전시 중인 보물들의 안전을 모두가 걱정하고 있다. 박물관은 전시실을 지키기 위해 경비원을 추가로 고용해 유물들을 감시하게 하려 한다. 이때 전시실 전체가 안전하도록 만드는 데 필요한 최소 인원의 추가 경비원을 고용하고자 한다.

대전시실은 $R \times C$ 칸으로 이루어진 격자이다. 일부 칸에는 이미 박물관의 경비원이 서 있고, 나머지 칸에는 각각 어떤 종류의 유물(조각상, 조형물 등)이 놓여 있다. 유물은 새로 고용한 경비원으로 교체할 수 있지만, 경비원은 유물이 그대로 놓여 있는 칸에는 설 수 없으며, 유물을 단순히 치워 칸을 비워 둘 수도 없다. 즉 유물이 놓인 각 칸에 대해, 유물을 그대로 두거나 고용한 경비원으로 교체하는 두 가지 선택만 가능하다.

각 유물에는 핵심 지점들이 정해져 있다. 이는 그 유물을 전시실에 계속 두려면 반드시 경비원이 서 있어야 하는 칸들이다. 한 경비원이 여러 유물의 핵심 지점인 칸에 서 있으면, 그 유물들을 한꺼번에 감시할 수 있다. 임의의 유물의 핵심 지점은 항상 그 유물을 둘러싼 12개 칸의 부분집합이며, 아래 그림처럼 1번부터 12번까지 번호가 매겨져 있다(X는 유물 자신을 나타내고, 각 숫자는 그 번호의 핵심 지점을 나타낸다):

 .  2  .  3  .
 1  .  9  .  4
 . 12  X 10  .
 8  . 11  .  5
 .  7  .  6  .

유물의 종류는 음이 아닌 정수로 표현한다. 가장 낮은 자리 비트를 $1$번 비트로 셀 때, 이 정수의 $i$번째 비트가 $1$이라는 것은 $i$번 핵심 지점이 그 유물의 핵심 지점이라는 뜻이다. 예를 들어 종류가 $595$($2$진수로 $1001010011$)인 유물의 핵심 지점은 ${1, 2, 5, 7, 10}$이다. 유물의 핵심 지점이 격자 밖에 있으면, 그 지점은 자동으로 안전한 것으로 본다.

대전시실의 배치가 주어질 때, 남아 있는 모든 유물이 안전하도록 만드는 데 필요한 추가 경비원의 최소 인원을 구하여라.

입력

입력은 하나 이상의 테스트 케이스로 이루어진다. 각 테스트 케이스는 전시실의 크기를 나타내는 두 정수 $R$, $C$($1 \le R, C \le 50$)가 적힌 줄로 시작한다. 이어지는 $R$개의 줄에는 각각 한 개 이상의 공백으로 구분된 $C$개의 정수가 있다. $i$번째 줄의 $j$번째 정수는, 칸 $(i, j)$에 이미 박물관 경비원이 있으면 $-1$이고, 그렇지 않으면 그 칸에 놓인 유물의 종류를 나타내는 정수 $T$($0 \le T < 2^{12}$)이다.

입력의 끝은 두 개의 $0$이 적힌 줄로 표시되며, 이 종료 줄은 테스트 케이스가 아니다.

출력

각 테스트 케이스마다 다음 형식으로 한 줄을 출력한다:

k. G

여기서 $k$는 테스트 케이스 번호($1$부터 시작)이고, $G$는 남아 있는 모든 유물이 안전하도록 만들기 위해 고용해야 하는 추가 경비원의 최소 인원이다.