n,m,k=map(int,input().split())
A=[list(map(int,input().split())) for _ in range(n)]
INF=10**10
M=[(0,1),(1,0)]
def f(x):
    F=[[INF]*m for _ in range(n)]
    F[0][0]=0
    for i in range(n):
        for j in range(m):
            if A[i][j]<x:
                F[i][j]+=1
            for a,b in M:
                nx,ny=i+a,j+b
                if 0<=nx<n and 0<=ny<m:
                    if F[nx][ny]>F[i][j]:
                        F[nx][ny]=F[i][j]
    return F[-1][-1]
l,r=0,10**9+1
while r-l>1:
    c=(l+r)//2
    if f(c)>k:
        r=c
    else:
        l=c
print(l)