#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=20;
int n,m,X,a[maxn][maxn],b[maxn],ans=2e9;
bool check(){
	for (int i=1;i<=m;i++) if(b[i]<X) return 0;
	return 1;
}
int main(){
	scanf("%d%d%d",&n,&m,&X);
	for (int i=0;i<n;i++)
	for (int j=0;j<=m;j++) scanf("%d",&a[i][j]);
	for (int s=(1<<n)-1;~s;s--){
		for (int i=0;i<=m;i++) b[i]=0;
		for (int i=0;i<n;i++) if(s&(1<<i))
		for (int j=0;j<=m;j++) b[j]+=a[i][j];
		if(check()) ans=min(ans,b[0]);
	}
	printf("%d\n",ans==2e9?-1:ans);
	return 0;
}