#include <bits/stdc++.h>

using namespace std;
using namespace std;
#define rep(i,n) for(long long i=0; i<(long long)(n);i++)
//rep…「0からn-1まで」の繰り返し
#define rep2(i,s,n) for(long long i=s; i<=(long long)(n);i++)
//rep2…「sからnまで」の繰り返し
#define repr(i,s,n) for(long long i=s;i>=(long long)(n);i--)
//repr…「ｓからnまで」の降順の繰り返し

typedef long long ll;

const int inf = 1e9+7;
const int mod = 1e9+7;

int main(){
    int n,m,x;
    cin>>n>>m>>x;

    vector<int>c(n);
    vector<vector<int>>a(n,vector<int>(m));

    rep(i,n){
        cin>>c[i];
        rep(j,m)cin>>a[i][j];
    }

    int ans= inf;

    rep(bit,1<<n){
        int csum=0;
        vector<int>asum(m,0);
        bool jdg=true;

        rep(i,n){
            if(bit&(1<<i)){
                rep(j,m){
                    asum[j]+=a[i][j];
                }
                csum+=c[i];
            }
        }

        rep(i,m){
            if(asum[i]<x){
                jdg=false;
                break;
            }
        }

        if(jdg)ans=min(ans,csum);
    }

    cout<<ans<<endl;

}
