#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N =102;
int n,k,p,cnt,c[N],dp[300010],a[N][N],v[8];
int Quickpow(int a,int b){
int ans=1,now=a;
while(b>0){
if(b&1) ans*=now;
now*=now;
b>>=1;
}
return ans;
}
int Cal(int x,int dis){
for(int i=k-1;i>=0;i--){
int now=0,pre=Quickpow(6,i);
while(x-pre>=0) x-=pre,now++;
if(now>5) return -1;
v[i]=min(p,now+a[dis][i]);
}
int sum=0;
for(int i=0;i<k;i++) sum+=Quickpow(6,i)*v[i];
if(sum>300010) return -1;
return sum;
}
signed main()
{
cin>>n>>k>>p;
for(int i=1;i<=n;i++){
cin>>c[i];
for(int j=0;j<k;j++) cin>>a[i][j];
}
for(int i=0;i<=(Quickpow(6,k)-1);i++) dp[i]=1e16;
dp[0]=0;
for(int i=1;i<=n;i++){
for(int j=(Quickpow(6,k)-1);j>=0;j--)
if(Cal(j,i)!=-1)
dp[Cal(j,i)]=min(dp[Cal(j,i)],dp[j]+c[i]);
}
cout<<((dp[(Quickpow(6,k)-1)]==1e16)?-1:dp[(Quickpow(6,k)-1)])<<endl;
return 0;
}