#include<bits/stdc++.h>
using namespace std;
int t,n,m,ans;
const int N = 105;
int dp[N * N],p[N][N];
int main(){
scanf("%d%d%d", &t, &n, &m);
ans = m;
for(int i = 1;i <= t;i++)
for(int j = 1;j <= n;j++)
scanf("%d", &p[i][j]);
for(int i = 1;i < t;i++){
memset(dp, pow(2,31) - 1,sizeof(dp));
dp[ans] = ans;
for(int j = 1;j <= n;j++)
for (int k = ans; k >= p[i][j]; --k)
dp[k - p[i][j]] = max(dp[k - p[i][j]], dp[k] + p[i + 1][j] - p[i][j]);
int Max = 0;
for(int j = 1;j <= ans;j++)
if(dp[j] > Max)
Max = dp[j];
ans = Max;
}
printf("%d", ans);
return 0;
}