rt
#include<bits/stdc++.h>
using namespace std;
const int maxn=36;
int n,m,t,ans,o=1,p;
struct ee{
int x,y,num;
}b[maxn*maxn];
bool cmp(ee a,ee b){
return a.num>b.num;
}
int mhd(ee a,ee b){
return abs(a.x-b.x)+abs(a.y-b.y);
}
void pd(){
sort(b+1,b+o+1,cmp);
t-=b[1].x+1;
if(t>b[1].x){
ans+=b[1].num;
}
int p=2;
while(t>b[p].x){
int k=mhd(b[p-1],b[p]);
if(t>k+b[p].x+1){
t-=k;
ans+=b[p].num;
p++;
}else{
return;
}
if(p==o+1){
return;
}
}
}
int main(){
scanf("%d%d%d",&n,&m,&t);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
int x;
scanf("%d",&x);
if(x!=0){
b[o].num=x;
b[o].x=i,b[o].y=j;
o++;
}
}
}
pd();
printf("%d",ans);
return 0;
}/*
6 7 21
0 0 0 0 0 0 0
0 0 0 0 13 0 0
0 0 0 0 0 0 7
0 15 0 0 0 0 0
0 0 0 9 0 0 0
0 0 0 0 0 0 0
*/