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

const int maxn=1005;
int a[maxn],s[maxn],n,m,b;
int f[maxn][maxn*5];

int main()
{
	scanf("%d %d",&n,&m);
	for(int i=1;i<=m;++i) {
		scanf("%d %d",&a[i],&b);
		for(int j=1;j<=b;++j) {
			int t;
			scanf("%d",&t);
			s[i]+=1<<(t-1);
		}
	}
	memset(f,127,sizeof f);
	f[0][0]=0;
	for(int i=1;i<=m;++i) {
		for(int j=0;j<(1<<n);++j) {
			f[i][j]=min(f[i-1][j],f[i][j]);
			f[i][j|s[i]]=min(f[i-1][j]+a[i],f[i][j|s[i]]);
		}
	}
	if(f[m][(1<<n)-1]==f[m+1][0]) printf("-1");
	else printf("%d",f[m][(1<<n)-1]);
}