//#include<fstream>
//#include<cmath>
using namespace std;
int sum=0,a[500],x[500],y[500],n,m,k,fr;
int init(){
int i,j,t,fx;
// ifstream cin("peanuts.in");
cin>>n>>m>>k;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++){
sum++;
cin>>a[sum];
x[sum]=i;
y[sum]=j;
}
// cout<<n<<m<<" ";
t=0; fx=10000;
for(i=1;i<=sum;i++)if(t<a[i]){
if(t=a[i]&&fx>x[i]){
fx=x[i];
fr=i;
}
else{
t=a[i];
fr=i;
}
}
k=k-x[fr]-1;
// cout<<k<<" "<<sum<<'\n';
}
int max(int x,int y){
if(x>y) return x;
else return y;
}
int cath(){
int i,tx,ty,ti,now,ans,nx,ny,kx,ky,px,py;
nx=x[fr]; ny=y[fr]; ans=a[fr]; a[fr]=0;
if (k<x[fr]){
ans=0;
k=-1;
}
// cout<<k;
while(k>=0){
now=0;
for(i=1;i<=sum;i++) if(now<a[i]){
now=a[i];
tx=x[i];
ty=y[i];
ti=i;
}
for(i=1;i<=sum;i++) if(now==a[i]&&i!=ti){
// abs(nx-x[i]+ny-y[i])
if(nx<x[i])kx=x[i]-nx;
else kx=nx-x[i];
if(ny<y[i])ky=y[i]-ny;
else ky=ny-y[i];
// abs(nx-tx+ny-ty)
if(nx<tx)px=tx-nx;
else px=nx-tx;
if(ny<ty)py=ty-ny;
else py=ny-ty;
// abs erro
if((kx+ky)<(px+py)){
tx=x[i];
ty=y[i];
ti=i;
}
}
// abs(nx-tx+ny-ty)
if(nx<tx)px=tx-nx;
else px=nx-tx;
if(ny<ty)py=ty-ny;
else py=ny-ty;
if(k-(px+py)-tx-1>=0){
ans=ans+now;
a[ti]=0;
k=k-(px+py)-1;
nx=tx; ny=ty;
}
else break;
if (now==0) break;
}
// ofstream cout("output.out");
cout<<ans;
}
int main(){
init();
cath();
return 0;
}