#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-6;
const int N = 1e3 + 7;
const int MOD = 1e9 + 7;
const long long INF = 3e18 + 7;
int n, m, x[100], k[100], p[100], cnt[100], b[100];
long long B, dp[1 << 20];
bool cmp(int i, int j) { return k[i] < k[j]; }
int main() {
  int tmp;
  cin >> n >> m >> B;
  int tot = 0;
  for (int i = 0; i < n; i++) {
    scanf("%d%d%d", &x[i], &k[i], &cnt[i]);
    for (int j = 0; j < cnt[i]; j++) {
      scanf("%d", &tmp);
      p[i] |= 1 << (tmp - 1);
    }
    tot |= p[i];
    b[i] = i;
  }
  sort(b, b + n, cmp);
  if (tot != (1 << m) - 1) {
    puts("-1");
    return 0;
  }
  for (int i = 0; i <= tot; i++) dp[i] = INF;
  long long ans = INF;
  dp[0] = 0;
  for (int i = 0; i < n; i++)
    for (int j = tot; j >= 0; j--)
      if ((j | p[b[i]]) == tot)
        ans = min(ans, dp[j] + k[b[i]] * B + x[b[i]]);
      else
        dp[j | p[b[i]]] = min(dp[j | p[b[i]]], dp[j] + x[b[i]]);
  cout << ans << endl;
}
