#include <bits/stdc++.h>
using namespace std;
long long b;
int hm, n, m, mm, tgt, a;
pair<pair<long long, long long>, int> arr[105];
long long dp[(1 << 20) + 5];
int main() {
  scanf("%d %d %I64d", &n, &m, &b);
  tgt = (1 << m) - 1;
  for (int i = 0; i < n; i++) {
    scanf("%I64d %I64d %d", &arr[i].first.second, &arr[i].first.first, &mm);
    while (mm--) scanf("%d", &a), arr[i].second |= (1 << (a - 1));
    hm |= arr[i].second;
  }
  if ((tgt & hm) != tgt)
    puts("-1");
  else {
    sort(arr, arr + n);
    for (int i = 1; i <= tgt; i++) dp[i] = 4000000000000000000LL;
    long long ans = 4000000000000000000LL;
    for (int i = 0; i < n; i++) {
      for (int j = 0; j <= tgt; j++) {
        int next = j | arr[i].second;
        dp[next] = min(dp[next], dp[j] + arr[i].first.second);
      }
      ans = min(ans, dp[tgt] + arr[i].first.first * b);
    }
    printf("%I64d\n", ans);
  }
  return 0;
}
