#include<bits/stdc++.h>
using namespace std;
const int N=110,M=1010;
int val[N][M],mon[M];
int main() {
memset(mon,0,sizeof(mon));
int i,n,m,i2,i3,d;
cin>>d>>n>>m;
for(i=1;i<=d;i++){
for(i2=1;i2<=n;i2++){
cin>>val[i][i2];
}
}
for(i=2;i<=d;i++){
for(i2=1;i2<=n;i2++){
for(i3=val[i-1][i2];i3<=m;i3++)
mon[i3]=max(mon[i3-val[i-1][i2]]+val[i][i2],mon[i3]);
}
}
cout<<mon[m];
return 0;
}