#include #include using namespace std; vector > A(11,vector(11)); int n,m,k; int memo[11][501]; int DFS(int nw,int c){ if(c > k){return -1;} if(memo[nw][c]){ return memo[nw][c]; } if(nw == n){ return c; } int ans = -1; for(int i = 0; m > i; i++){ ans = max(ans,DFS(nw+1,c+A[nw][i])); } memo[nw][c] = ans; return ans; } int main(){ cin>>n>>m>>k; for(int i = 0; n > i; i++){ for(int j = 0; m > j; j++){ cin>>A[i][j]; } } int z = DFS(0,0); cout << (z==-1?-1:k-z) << endl; }