#include <bits/stdc++.h>
using namespace std;
const int N = (1 << 20) + 15;
long long dp[N];
pair<int, int> id[100];
int bit[100], c[100], st[N];
int main() {
  int u, a, mi, n, m, i, j, b, x, p = 0, idd;
  long long k, temp;
  long long ret = 4e18;
  scanf("%d%d%d", &n, &m, &b);
  for (i = 0; i < n; ++i) {
    scanf("%d%d%d", &c[i], &id[i].first, &mi);
    a = 0;
    for (j = 0; j < mi; ++j) scanf("%d", &u), a |= 1 << (u - 1);
    bit[i] = a;
    id[i].second = i;
  }
  memset(dp, -1, sizeof(dp));
  sort(id, id + n);
  dp[0] = 0;
  ++p;
  for (i = 0; i < n; ++i) {
    k = id[i].first, idd = id[i].second;
    if (dp[bit[idd]] != -1 && dp[bit[idd]] <= c[idd]) continue;
    x = p;
    for (j = 0; j < p; ++j) {
      u = st[j] | bit[idd];
      if (dp[u] == -1 && u != (1 << m) - 1) st[x++] = u;
      if (dp[u] == -1 || dp[u] > dp[st[j]] + c[idd]) dp[u] = dp[st[j]] + c[idd];
    }
    if (dp[(1 << m) - 1] != -1) ret = min(ret, k * b + dp[(1 << m) - 1]);
    p = x;
  }
  if (ret == 4e18) ret = -1;
  cout << ret << endl;
}
