#include<bits/stdc++.h>
using namespace std;
struct h{
int g,x,y;
}hs[500];
int cnt;
int ans;
bool cmp(h a,h b){
return a.g > b.g;
}
int main(){
int n,m,t;
cin >> n >> m >> t;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
int q;
cin >> q;
if(q)
hs[++cnt] = {q,j,i};
}
}
sort(hs+1,hs+cnt+1,cmp);
bool fg = 0;
for(int i = 1; i <= cnt; i++){
if(i == 1 && hs[i].y*2 > t) break;
if(!fg){
ans += hs[1].g;
t -= hs[1].y+1;
fg = 1;
}
int cx = hs[i].x-hs[i+1].x >0 ? hs[i].x-hs[i+1].x : hs[i+1].x-hs[i].x;
int cy = hs[i].y-hs[i+1].y >0 ? hs[i].y-hs[i+1].y : hs[i+1].y-hs[i].y;
if(cx+cy+hs[i+1].y+1 > t) break;
else{
t -= cx+cy+1;
ans += hs[i+1].g;
}
}
cout << ans;
return 0;
}