#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
****************************************************************/