#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
struct node{
int x;
int y;
int value;
};
bool cmp(node a,node b){
return a.value>b.value;
}
int main()
{
struct node nd[500];
int temp = 0,ans = 0;
int m,n,k;
int a[50][50];
cin>>m>>n>>k;
int t = 0;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
if(a[i][j]){
nd[t].value = a[i][j];
nd[t].x = i;
nd[t].y = j;
t++;
}
}
}
sort(nd,nd+t,cmp);
temp = nd[0].x;
if(temp*2>=k){
cout<<"0"<<endl;
}else{
temp++;
for(int i=0;i<t;i++){
ans+=nd[i].value;
int lu = fabs(nd[i+1].x-nd[i].x)+fabs(nd[i+1].y-nd[i].y)+nd[i+1].x+1;
if(temp+lu>k){
break;
}else{
temp+=fabs(nd[i+1].x-nd[i].x)+fabs(nd[i+1].y-nd[i].y)+1;
}
}
cout<<ans<<endl;
}
return 0;
}