#include <bits/stdc++.h>
using namespace std;
const int N = 101;
const long long inf = 2000000000000000000;
struct my {
  long long x;
  int y, c, to;
} a[N];
bool comp(my x, my y) { return (x.y < y.y); }
int y, to, q, w, j, f[N][N], n, m, x, i, e;
long long cost, dp[1 << 21], ans, res;
int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(0);
  ans = inf;
  cin >> n >> m >> cost;
  for (i = 1; i <= n; i++) {
    x = 0;
    cin >> a[i].x >> a[i].y >> a[i].c;
    for (j = 1; j <= a[i].c; j++) {
      cin >> y;
      y--;
      x = x + (1 << y);
    }
    a[i].to = x;
  }
  e = (1 << m);
  sort(a + 1, a + n + 1, comp);
  for (i = 1; i < e; i++) dp[i] = inf;
  for (i = 1; i <= n; i++) {
    res = a[i].y * cost;
    for (j = 0; j < e; j++)
      if (dp[j] != inf) {
        to = j | a[i].to;
        dp[to] = min(dp[to], dp[j] + a[i].x);
      }
    ans = min(ans, dp[e - 1] + res);
  }
  if (ans == inf) ans = -1;
  cout << ans << endl;
}
