#include <bits/stdc++.h>
using namespace std;
void read(bool outToFile = 0) {}
pair<long long, pair<long long, long long> > a[109];
long long dp[(1 << 21)] = {};
int main() {
  read();
  long long n, m, b;
  cin >> n >> m >> b;
  for (int i = 0; i < n; i++) {
    cin >> a[i].second.first >> a[i].first;
    long long x;
    cin >> x;
    while (x--) {
      long long tmp;
      cin >> tmp;
      a[i].second.second |= (1 << (tmp - 1));
    }
  }
  sort(a, a + n);
  long long ans = 1ll * 1e18 * 2;
  for (int i = 0; i < (1 << 21); i++) dp[i] = 1ll * 1e18 * 2;
  dp[0] = 0;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < (1 << m); j++)
      dp[j | a[i].second.second] =
          min(dp[j | a[i].second.second], dp[j] + a[i].second.first);
    ans = min(ans, dp[(1 << (m)) - 1] + b * a[i].first);
  }
  if (ans < 1ll * 1e18 * 2)
    cout << ans;
  else
    cout << -1;
}
