블러

0과 1로 이루어진 영상을 가장자리가 맞닿은 3x3 평균으로 여러 번 흐리게 한 뒤 서로 다른 회색 값 개수를 셉니다.

쉬움3시뮬레이션행렬수학면접 대비아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

가로 ww픽셀, 세로 hh픽셀 크기의 흑백 이미지가 있다. 픽셀 하나를 숫자 하나로 나타내며, 검은색은 00, 흰색은 11이다. 친구가 이 이미지를 흐리게 만들어 달라고 부탁했다. 그러면 여러 단계의 회색이 나타난다.

흐리게 만드는 방법은 다음과 같다. 원본과 크기가 같은 새 이미지를 만들고, 새 이미지의 각 픽셀 값을 원본의 대응하는 픽셀을 중심으로 하는 3×33 \times 3 정사각형 안 픽셀 99개의 평균으로 정한다. 평균을 낼 때 가장자리는 반대편으로 이어진다. 맨 왼쪽 열에 있는 픽셀의 왼쪽 이웃은 같은 행의 맨 오른쪽 열에 있고, 맨 윗줄에 있는 픽셀의 위쪽 이웃은 같은 열의 맨 아랫줄에 있다. 그래서 3×33 \times 3 정사각형은 언제나 픽셀 정확히 99개를 준다. 더 흐리게 만들고 싶으면 흐려진 이미지에 똑같은 과정을 다시 적용하면 된다.

원본 이미지와 흐리게 만드는 횟수가 주어진다. 모든 계산을 정확하게 했을 때 마지막 이미지에 서로 다른 회색 음영이 몇 가지 나타나는지 구하여라.

주의: 부동소수점 수는 다루기 까다롭다. 분수를 부동소수점으로 나타내면 2/9+5/92/9 + 5/93/9+4/93/9 + 4/9가 서로 다른 값이 되기도 한다. 부동소수점 연산 없이 푸는 방법을 찾아보자.

입력

첫째 줄에 정수 ww, hh, bb가 공백으로 구분되어 주어진다 (3w,h1003 \le w, h \le 100, 0b90 \le b \le 9). 각각 이미지의 너비, 높이, 흐리게 만드는 횟수이다. 다음 hh개 줄에는 공백으로 구분된 정수 ww개가 주어지며 원본 이미지를 나타낸다. 각 정수는 픽셀의 색에 따라 00 또는 11이다.

출력

마지막 이미지에 나타나는 서로 다른 회색 음영의 개수를 한 줄에 출력한다.