#include <bits/stdc++.h>
using namespace std;
pair<long long, pair<int, int>> arr[101];
long long dp[(1 << 20)];
int main() {
  int n, m, b;
  cin >> n >> m >> b;
  int x, k, num;
  int a;
  int mask = 0;
  for (int i = 0; i < n; ++i) {
    scanf("%d%d%d", &x, &k, &num);
    arr[i].first = k;
    arr[i].second.first = x;
    mask = 0;
    for (int j = 0; j < num; ++j) {
      cin >> a;
      mask = mask | (1 << (a - 1));
    }
    arr[i].second.second = mask;
  }
  sort(arr, arr + n);
  int end = 1 << m;
  for (int i = 1; i < end; ++i) dp[i] = 1e18 + 30 * 1e9;
  long long ans = 1e18 + 30 * 1e9;
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < end; ++j) {
      if (dp[j] != 1e18 + 30 * 1e9) {
        int now = (j | arr[i].second.second);
        dp[now] = min(dp[now], (dp[j] + arr[i].second.first));
      }
    }
    if (dp[end - 1] != 1e18 + 30 * 1e9) {
      ans = min(ans, dp[end - 1] + (arr[i].first * 1ll * b));
    }
  }
  if (ans != 1e18 + 30 * 1e9)
    cout << ans << endl;
  else
    cout << -1 << endl;
}
