#include <bits/stdc++.h>
using namespace std;
const int N = 1048576;
int n, m, cost[N], kol[N], q, M, b[N], first, dd, c;
long long dp[N], ans = (long long)3e18;
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> m >> c;
  for (int i = 0; i < n; ++i) {
    cin >> cost[i] >> kol[i] >> q;
    for (int j = 0; j < q; ++j) cin >> first, b[i] |= 1 << (first - 1);
  }
  M = (1 << m);
  for (int i = 1; i < M; ++i) dp[i] = (long long)3e18;
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < i; ++j)
      if (kol[j] > kol[i]) {
        swap(kol[i], kol[j]);
        swap(cost[i], cost[j]);
        swap(b[i], b[j]);
      }
  for (int i = 0; i < n; ++i) {
    dd = max(dd, kol[i]);
    if (dd * 1ll * c > ans) break;
    for (int mask = 0; mask < M; ++mask)
      dp[mask | b[i]] = min(dp[mask | b[i]], dp[mask] + cost[i]);
    ans = min(ans, dd * 1ll * c + dp[M - 1]);
  }
  cout << (ans == (long long)3e18 ? -1 : ans);
}
