#include <bits/stdc++.h>
using namespace std;

int main() {
  int N,M,X,i,j,ans=-1;
  cin>>N>>M>>X;
  vector<vector<int>> A(N,vector<int>(M+1));
  for(i=0;i<N;i++){
    cin>>A[i][M];//金額
    for(j=0;j<M;j++)cin>>A[i][j];
  }
  for(int tmp=0;tmp<(1<<N);tmp++){
    bitset<12> b(tmp);//買うかどうか
    int nedan=0;
    vector<int> check(M);
    for(i=0;i<N;i++){
      if(b.test(i)){
        nedan+=A[i][M];
        for(j=0;j<M;j++)check[j]+=A[i][j];
      }
    }
    int flag=1;
    for(i=0;i<M;i++)if(check[i]<X){flag=0;break;}
    if(flag){
      if(ans==-1)ans=nedan;
      else ans=min(ans,nedan);
    }
  }
  cout<<ans<<endl;
}
