#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1010;
int maxs[N];
int x[N],y[N];
int a[N][N];
int m,n,k;
int ans;
inline int read(){
int x=0,f=1;
char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-') ch=getchar();
if(ch=='-') f=-1,ch=getchar();
while(ch>='0'&&ch<='9'){
x=x*10+ch-'0';
ch=getchar();
}
return x*f;
}
bool f(int i){
int l=abs(x[i]-x[i-1])+abs(y[i]-y[i-1])+1;
if(l+x[i]<=k){
k=k-l;
return 1;
}
return 0;
}
int main(){
m=read();
n=read();
k=read();
int s=1;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
a[i][j]=read();
if(a[i][j]!=0){
maxs[s]=a[i][j];
x[s]=i;
y[s]=j;
++s;
}
}
}
s--;
for(int i=1;i<=s;i++){
for(int j=1;j<=i;j++){
if(maxs[i]>maxs[j]){
swap(maxs[i],maxs[j]);
swap(x[i],x[j]);
swap(y[i],y[j]);
}
}
}
y[0]=y[1];
for(int i=1;i<=s;i++){
if(f(i)==1){
ans+=maxs[i];
}
else{
printf("%d",ans);
return 0;
}
}
}