#include #define REP(i,n) for(int i=0,i##_len=(n);i>N>>M>>K; vector> A(N,vector(M)); REP(i,N) REP(j,M) cin>>A[i][j]; vector> dp(N+1,vector(K+1,false)); dp[0][K]=true; REP(i,N) REP(j,K+1){ REP(k,M){ if(j-A[i][k]>=0) dp[i+1][j-A[i][k]]=dp[i+1][j-A[i][k]]|dp[i][j]; } } int ans=K+1; REP(i,K+1) if(dp[N][i]) ans=min(ans,i); if(ans==K+1) cout<<-1<