import sys from collections import deque input = sys.stdin.readline N, M, H = map(int, input().split()) visited = [[[-1]*N for _ in range(M)] for _ in range(H)] emptyCount = 0 visitCount = 0 q = deque() tomato = [] for z in range(H): tomato.append([]) for y in range(M): row = list(map(int, input().split())) tomato[z].append(row) for x in range(N): if row[x] == 1 : q.append((z,y,x)) visited[z][y][x] = 0 visitCount += 1 elif row[x] == -1 : emptyCount += 1 dx = [1,-1,0,0,0,0] dy = [0,0,1,-1,0,0] dz = [0,0,0,0,1,-1] dayMax = 0 while len(q) : cz, cy, cx = q.popleft() for i in range(6): nz, ny, nx = cz + dz[i], cy + dy[i], cx + dx[i] if 0<=nz dayMax : dayMax = visited[nz][ny][nx] if N*M*H == visitCount + emptyCount : print(dayMax) else : print(-1)