#include <bits/stdc++.h>
using namespace std;
const long long N = 102;
long long dp[(1ll << 20) + 4], inf = 5e18;
pair<long long, pair<long long, long long> > arr[N];
int32_t main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  long long n, m, b, ans = inf;
  cin >> n >> m >> b;
  for (long long i = (long long)(1); i <= (long long)(n); i++) {
    long long x, k, y, z;
    cin >> x >> k >> y;
    long long cur = 0;
    for (long long j = (long long)(1); j <= (long long)(y); j++) {
      cin >> z;
      cur |= (1ll << (z - 1));
    }
    arr[i] = {k, {x, cur}};
  }
  sort(arr + 1, arr + n + 1);
  for (long long i = (long long)(0); i <= (long long)((1ll << 20)); i++)
    dp[i] = inf;
  dp[0] = 0;
  for (long long i = (long long)(1); i <= (long long)(n); i++) {
    for (long long mask = (long long)(0); mask <= (long long)((1ll << m) - 1);
         mask++) {
      dp[mask | arr[i].second.second] =
          min(dp[mask | arr[i].second.second], dp[mask] + arr[i].second.first);
    }
    ans = min(ans, dp[(1ll << m) - 1] + b * arr[i].first);
  }
  cout << (ans == inf ? -1 : ans);
}
