#include<cstdio>
using namespace std;
int N,M,K;
const int dir[4][2]={{0,-1},{0,1},{-1,0},{1,0}};
int ans=0,P[20+1][20+1];
bool book[20+1][20+1]={};
void dfs(int x,int y,int cnt,int t){
if(t<=0){if(y==0)ans=cnt>ans?cnt:ans;return;}
//从路边跳到最靠近路边(即第一行)的某棵花生植株;
if(y==0)dfs(x,1,cnt,t-1);
//从一棵植株跳到前后左右与之相邻的另一棵植株;
for(int i=0;i<4;i++){
int x1=x+dir[i][0],y1=y+dir[i][1];
if(1<=x1&&x1<=N&&1<=y1&&y1<=M)dfs(x1,y1,cnt,t-1);
}
//采摘一棵植株下的花生;
if(!book[x][y]){
book[x][y]=true;
dfs(x,y,cnt+P[x][y],t-1);
book[x][y]=false;
}
//从最靠近路边(即第一行)的某棵花生植株跳回路边。
if(y==1)dfs(x,0,cnt,t-1);
}
int main(){
scanf("%d%d%d",&N,&M,&K);
for(int i=1;i<=M;i++)
for(int j=1;j<=N;j++)
scanf("%d",&P[i][j]);
for(int i=1;i<=N;i++)
dfs(i,0,0,K);
printf("%d",ans);
return 0;
}