#include using namespace std; using ll = long long; templateistream&operator>>(istream&i,vector&v){for(T&j:v)i>>j;return i;}templatevector&operator<<(vector&v,const T&t){v.push_back(t);return v;} int main() { int n, m, k; cin >> n >> m >> k; vector> dp(n + 1, vector(k + 1)); dp[0][0] = true; for(int i = 0; i < n; i++) { vector a(m); cin >> a; for(int j = 0; j <= k; j++) { for(int t = 0; t < m; t++) { if(!dp[i][j] || j + a[t] > k)continue; dp[i+1][j+a[t]] = true; } } } int ans = -1; for(int i = 0; i <= k; i++) { if(dp[n][i])ans = k - i; } cout << ans << endl; }