#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
using namespace std;

int main(){
	int n,d,x;
	cin >> n >> d >> x;
	vector<vector<int> > p(d, vector<int>(n));
	for(int i=0; i<d; i++){
		for(int j=0; j<n; j++){
			cin >> p[i][j];
		}
	}
	
	for(int i=0; i<d-1; i++){
		vector<vector<int> > dp(n+1, vector<int>(x+1, 0));
		for(int j=0; j<n; j++){
			for(int k=0; k<=x; k++){
				if(k - p[i][j] >= 0){
					dp[j+1][k] = max(dp[j][k], dp[j+1][k-p[i][j]] + p[i+1][j]-p[i][j]);
				}else{
					dp[j+1][k] = dp[j][k];
				}
			}
		}
		x += dp[n][x];
	}
	cout << x << endl;
	return 0;
}