#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
const int N(409);
struct plant
{
int r,c,w;
};
plant data[N];
bool comp(const plant &x,const plant &y)
{
return x.w>y.w;
}
int main()
{
int m,n,k,ans(0);
cin>>m>>n>>k;
int w;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
{
int no((i-1)*n+j);
cin>>data[no].w;
data[no].r=i;
data[no].c=j;
}
sort(data+1,data+1+m*n,comp);
int t(0);data[0].r=0;data[0].c=data[1].c;data[0].w=0;
for(int i=1;i<=m*n;i++)
{
t+=abs(data[i].r-data[i-1].r)+abs(data[i].c-data[i-1].c)+1;
if(t+data[i].r>k)
break;
ans+=data[i].w;
}
cout<<ans<<endl;
return 0;
}
/**************************************************************
Problem: 2245
User: admin
Language: C++
Result: Accepted
Time:49 ms
Memory:2080 kb
****************************************************************/