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)