"use strict";
var input=require("fs").readFileSync("/dev/stdin","utf8");
var cin=input.split(/ |\n/),cid=0;
function next(a){return a?cin[cid++]:+cin[cid++];}
function nexts(n,a){return a?cin.slice(cid,cid+=n):cin.slice(cid,cid+=n).map(a=>+a);}
function nextm(h,w,a){var r=[],i=0;if(a)for(;i<h;i++)r.push(cin.slice(cid,cid+=w));else for(;i<h;i++)r.push(cin.slice(cid,cid+=w).map(a=>+a));return r;}
function xArray(v){var a=arguments,l=a.length,r="Array(a["+--l+"]).fill().map(x=>{return "+v+";})";while(--l)r="Array(a["+l+"]).fill().map(x=>"+r+")";return eval(r);}

var myOut = main();
if(myOut !== undefined)console.log(myOut);

function main(){
  var [n,m,x] = nexts(3);
  var a = nextm(n,m+1);
  var ans = 1e9;
  for(var i = 1; i < 1<<n; i++){
    var j = i, t = 0, sum = 0, tot = xArray(0,m);
    while(j){
      if(j & 1){
        sum += a[t][0];
        for(var k = 1; k <= m; k++)tot[k-1] += a[t][k];
      }
      j >>= 1, t++;
    }
    var flag = 1;
    for(var j = 0; j < m; j++)if(tot[j] < x)flag = 0;
    if(flag && ans > sum)ans = sum;
  }
  return ans === 1e9 ? -1 : ans;
}