#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e3 + 10;

int dp[N][1 << 12];
int p[N];
int sum[N];

int main() {
  //  freopen("in","r",stdin);
    ios::sync_with_stdio(false); cin.tie(0);
    int n,m;
    cin >> n >> m;
    for(int i = 1;i <= m;++i) {
        int cnt;
        cin >> p[i] >> cnt;
        for(int j = 0;j < cnt;++j) {
            int x;
            cin >> x;
            x--;
            sum[i] += (1 << x);
        }
    }
    memset(dp,0x3f,sizeof dp);
    for(int i = 0;i < m;++i) {
        dp[i][0] = 0;
        for(int j = 0;j < (1 << n);++j) {
            dp[i + 1][j] = min(dp[i + 1][j],dp[i][j]);
            if(dp[i][j] != 1061109567)
                dp[i + 1][j | sum[i + 1]] = min(dp[i + 1][j | sum[i + 1]],dp[i][j] + p[i + 1]);
        }
    }
    // for(int i = 0;i <= m;++i) {
    //     for(int j = 0;j < (1 << n);++j) {
    //         printf("dp[%d][%d] = %d\n",i,j,dp[i][j]);
    //     }
    //     cout << '\n';
    // }
    if(dp[m][(1 << n) - 1] == 1061109567) cout << -1 << '\n';
    else cout << dp[m][(1 << n) - 1] << '\n';
    return 0;
}