#include <iostream>
using namespace std;
int c[13],cod[13];
int a[13][13];
int n,m,x,ans=0,ans1=99999999;
void rekursia(int i){
  if(i==n+1){
    int x1=0;
    for(int g=1;g<=m;g++)
      if(cod[g]>=x)
        x1++;
    if(x1==m){
      ans1=min(ans1,ans);
    }
    return;
  }
  rekursia(i+1);
  ans+=c[i];
  for(int g=1;g<=m;g++)
    cod[g]+=a[i][g];
  rekursia(i+1);
  for(int g=1;g<=m;g++)
    cod[g]-=a[i][g];
  ans-=c[i];
}
int main() {
  cin>>n>>m>>x;
  for(int i=1;i<=n;i++){
    cin>>c[i];
    for(int g=1;g<=m;g++)
      cin>>a[i][g];
  }
  rekursia(1);
  if(ans1==99999999)
    cout<<-1;
  else
    cout<<ans1;
}