#include<iostream>
using namespace std;
const int N = 1e2 + 10;
int f[N][N][N * N], a[N][N], n, m, k, res;
int main()
{
freopen("C:\\Users\\HP\\Desktop\\P5662_10.in", "r", stdin);
cin >> n >> m >> k;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cin >> a[i][j];
}
}
int tem = 0;
for (int i = 1; i < n; i++) {
//memset(f, 0, sizeof f);
for (int j = 1; j <= m; j++) {
for (int p = a[i][j]; p <= k; p++) {
f[i][j][p] = max(f[i][j][p], f[i][j-1][p]);
f[i][j][p] = max(f[i][j][p], f[i][j][p - a[i][j]] + a[i + 1][j] - a[i][j]);
tem = max(tem, f[i][j][p]);
}
}
k += tem;
tem = 0;
}
res = k;
cout << res << endl;
return 0;
}