#include<iostream>
using namespace std;
long long n,m,c,k,h;
long long a[1010],b[1010];
long long dp[5010];
int main()
{
	cin>>n>>m;
	for(int i=0;i<=(1<<n);i++)
		dp[i]=9999999999;
	for(int i=0;i<m;i++)
	{
		cin>>a[i]>>c;
		h=0;
		for(int o=0;o<c;o++)
		{
			cin>>k;
			h+=(1<<k-1);
		}
		b[i]=h;
	}
	dp[0]=0;
	for(int i=0;i<(1<<n);i++)
	{
		for(int o=0;o<m;o++)
		{
			dp[i | b[o]]=min(dp[i | b[o]],dp[i]+a[o]);
		}
	}
	if(dp[(1<<n)-1]==9999999999)
		cout<<"-1"<<endl;
	else
		cout<<dp[(1<<n)-1]<<endl;
}