#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int n,m,x;
int sum=0;
int c[12]={0};
int a[12][12]={{0}};
int ability[12]={0};
int delete[12]={0};
int dif[12]={0};
int i,j;
int tmp1,tmp2;

int del(void)
{
  int tmp=0;
  int cmax=0;
  for(i=0;i<n;i++)
  {
    int flag=0;
    for(j=0;j<m;j++)
    {
      if(a[i][j]>dif[j]) flag=1;
    }
    if(flag==0 && delete[i]==0 && cmax<c[i])
    {
      cmax=c[i];
      tmp=i;
    }
    else if(flag==0 && delete[i]==0 && cmax==c[i])
    {
      for(j=0;j<m;j++)
      {
        tmp1=0;
        tmp1+=a[i][j];
        tmp2=0;
        tmp2+=a[tmp][j];
      }
      if(tmp2>tmp1)
      {
        cmax=c[i];
        tmp=i;
      }
    }
  }
  if(cmax==0)
  {
    printf("%d\n",sum);
    return 0;
  }
  else
  {
    for(j=0;j<m;j++) dif[j]-=a[tmp][j];
    delete[tmp]=1;
    sum-=c[tmp];
    del();
  }
}

int main(void)
{
  scanf("%d %d %d",&n,&m,&x);
  for(int i=0;i<n;i++)
  {
    scanf("%d",&c[i]);
    sum+=c[i];
    for(int j=0;j<m;j++)
    {
      scanf("%d",&a[i][j]);
      ability[j]+=a[i][j];
    }
  }

  for(j=0;j<m;j++)
  {
    if(ability[j]<x)
    {
      printf("-1\n");
      return 0;
    }
  }

  for(j=0;j<m;j++)
  {
    dif[j]=ability[j]-x;
  }

  del();

  return 0;
}