func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long inf = (1LL << 60);   long long dp[1 << 22];   struct node {     int x, k, p;   } f[110];   int cmp(node x, node y) { return x.k < y.k; }   long long ans;   int main() {     int n, m, b;     scanf( %d%d%d , &n, &m, &b);     int l = 1 << m;     for (int i = 1; i <= l; i++) {       dp[i] = inf;     }     int cnt;     for (int i = 1; i <= n; i++) {       f[i].p = 0;       int x;       scanf( %d%d%d , &f[i].x, &f[i].k, &cnt);       for (int j = 0; j < cnt; j++) {         scanf( %d , &x);         f[i].p |= (1 << (x - 1));       }     }     ans = inf;     sort(f + 1, f + n + 1, cmp);     for (int i = 1; i <= n; i++) {       for (int j = 0; j < l; ++j) {         dp[j | f[i].p] = min(dp[j] + f[i].x, dp[j | f[i].p]);       }       ans = min(ans, dp[l - 1] + (long long)f[i].k * b);     }     if (ans >= inf) {       printf( -1 n );     } else {       printf( %lld , ans);     }     return 0;   }   