from collections import deque import sys input = sys.stdin.readline N, M, K = map(int, input().split()) A = [list(map(int, input().split())) for _ in range(N)] if N+M-1<=K: print(10**9) exit() B = [[0 for _ in range(M)] for _ in range(N)] l = 0 r = 10**9+1 while r-l>1: mid = (l+r)//2 for i in range(N): for j in range(M): B[i][j] = 1 if A[i][j]dist[i][j]+B[ni][nj]: dist[ni][nj] = dist[i][j]+B[ni][nj] if B[ni][nj]==0: deq.appendleft((ni, nj)) else: deq.append((ni, nj)) if dist[N-1][M-1]<=K: l = mid else: r = mid print(l)