각 세포는 자신이나 상하좌우 이웃이 살아 있으면 다음 초에 살아난다. 이 확장을 K초 반복한 뒤 살아 있는 세포 수를 센다.
무한히 넓은 그리드가 단위 정사각형 칸으로 나누어져 있다. 각 칸은 살아있거나 죽어있다.
매초 모든 칸의 상태가 다음 규칙에 따라 동시에 바뀐다.
처음 그리드의 상태가 주어졌을 때, KKK초가 지난 뒤 살아있는 칸이 모두 몇 개인지 구하는 프로그램을 작성하시오.
첫째 줄에 처음 상태가 주어지는 직사각형 영역의 행의 개수 NNN과 열의 개수 MMM이 주어진다. (1≤N,M≤501 \le N, M \le 501≤N,M≤50)
둘째 줄부터 NNN개의 줄에 이 영역의 처음 상태가 한 줄에 MMM글자씩 주어진다. 살아있는 칸은 o, 죽어있는 칸은 .이다. 영역 밖의 칸은 처음에 모두 죽어있다.
o
.
마지막 줄에 KKK가 주어진다. (1≤K≤15001 \le K \le 15001≤K≤1500)
첫째 줄에 KKK초가 지난 뒤 살아있는 칸의 개수를 출력한다.
처음 상태가 아래와 같고 K=3K = 3K=3인 경우를 보자.
oo o.
3초가 지난 뒤의 모습은 아래와 같다.
...oo... ..oooo.. .oooooo. oooooooo ooooooo. .ooooo.. ..ooo... ...o....