#include <bits/stdc++.h>
using namespace std;

const int M=15;
const int INF=0x3f3f3f3f;
int c[M];
int a[M][M];

int main()
{
	int n,m,x;
	scanf("%d%d%d",&n,&m,&x);
	for(int i=0;i<n;i++)
	{
		scanf("%d",&c[i]);
		for(int j=0;j<m;j++)
			scanf("%d",&a[i][j]);
	}
	int mask=1<<n;
	int ans=INF;
	for(int i=0;i<mask;i++)
	{
		int nans=0;
		for(int k=0;k<n;k++)
			if(i&(1<<k)) nans+=c[k];
		if(nans>=ans) continue;
		int f=1;
		for(int j=0;j<m;j++)
		{
			int sum=0;
			for(int k=0;k<n;k++)
				if(i&(1<<k)) sum+=a[k][j];
			if(sum<x)
			{
				f=0;
				break;
			}
		}
		if(f) ans=min(ans,nans);
	}
	printf("%d\n",ans==INF?-1:ans);
	return 0;
}