#include <bits/stdc++.h>
using namespace std;
pair<int, pair<int, int> > a[100 + 1];
long long d[1 << 20];
int n, m;
long long b;
int main() {
  std::ios::sync_with_stdio(false);
  cin >> n >> m >> b;
  for (int i = 0; i < n; ++i) {
    int mi;
    cin >> a[i].second.first >> a[i].first >> mi;
    for (int j = 0; j < mi; ++j) {
      int tmp;
      cin >> tmp;
      a[i].second.second |= 1 << (tmp - 1);
    }
  }
  sort(a, a + n);
  int lim = 1 << m;
  long long ans = 1000000000000000000 * 3 + 100;
  for (int i = 1; i < lim; i++) d[i] = ans;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < lim; j++) {
      d[j | a[i].second.second] =
          min(d[j | a[i].second.second], d[j] + a[i].second.first);
    }
    ans = min(ans, d[lim - 1] + b * a[i].first);
  }
  if (ans == 1000000000000000000 * 3 + 100) {
    cout << -1 << endl;
  } else
    cout << ans << endl;
  return 0;
}
