#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1000000007;
const int N = 110;
struct T {
  int bits;
  int x;
  int k;
};
bool cmp(const T& a, const T& b) { return a.k < b.k; }
T a[N];
long long dp[(1 << 20) + 4];
int n, m;
long long b;
long long Ans() {
  const long long INF = 1LL << 60;
  long long res = 0;
  long long ans = INF;
  int top = 1 << m;
  for (int i = 0; i < top; ++i) dp[i] = 1LL << 60;
  dp[0] = 0;
  res = a[0].k * b;
  dp[a[0].bits] = a[0].x;
  ans = min(ans, dp[top - 1] + res);
  for (int i = 1; i < n; ++i) {
    res = a[i].k * b;
    int& bits = a[i].bits;
    for (int j = top - 1; j >= 0; --j)
      if (dp[j] != INF) {
        dp[j | bits] = min(dp[j | bits], dp[j] + a[i].x);
      }
    ans = min(ans, dp[top - 1] + res);
  }
  if (ans == INF) ans = -1;
  return ans;
}
int main() {
  ios::sync_with_stdio(false);
  cin >> n >> m >> b;
  int s, t;
  for (int i = 0; i < n; ++i) {
    cin >> a[i].x >> a[i].k >> s;
    a[i].bits = 0;
    for (int j = 0; j < s; ++j) {
      cin >> t;
      a[i].bits |= 1 << (t - 1);
    }
  }
  sort(a, a + n, cmp);
  cout << Ans() << endl;
}
