#include<bits/stdc++.h>
using namespace std;
struct pnt
{
int x,y,num;
};
pnt pnts[401];
int read()
{
int x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
x=x*10+ch-'0';
ch=getchar();
}
return x*f;
}
int cmp(pnt a,pnt b)
{
return a.num>b.num;
}
int main()
{
int m,n,k,ans,t,nx,ny,px,py,f;
m=read();
n=read();
k=read();
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
pnts[i*n+j].x=i+1;
pnts[i*n+j].y=j+1;
pnts[i*n+j].num=read();
}
}
sort(pnts,pnts+m*n,cmp);
t=0;
nx=0;
ny=0;
ans=0;
for(int i=0;i<m;i++)
{
f=0;
for(int j=0;j<n;j++)
{
px=abs(pnts[i*n+j].x-nx);
py=abs(pnts[i*n+j].y-ny);
t+=px;
t+=py;
if(t+pnts[i*n+j].x>k)
{
f=1;
break;
}
ans+=pnts[i*n+j].num;
}
if(f)break;
}
cout<<ans;
return 0;
}