#include <bits/stdc++.h>
#define ll long long
#define dandelion ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define FOR(i,a,b) for(long long i=a;i<=b;i++)
#define FOD(i,a,b) for(long long i=a;i>=b;i--)
#define pb push_back
using namespace std;
const int N = 1e6+5;
int n,k;
vector<int> g[N];
ll f[N] = {};
bool dd[N] = {};
ll res = LLONG_MAX;
void bfs(int u){ //dinh cay
ll tmp = 0;
f[u] = 1; //tang lop
int cnt = 1; //sl nhan vien
tmp += f[u]*k; //luong cua dinh cay la thap nhat
queue<int> q;
q.push(u);
dd[u] = true;
while(!q.empty()){
int v = q.front();
q.pop();
for(int x : g[v]){ //nv ben duoi
if(dd[x] == false){
dd[x] = true;
cnt++;
f[x] = f[v] + 1;
tmp += f[x]*k;
if(tmp > res) return; //ko toi uu thi bo di
if(cnt == n) res = min(res,tmp); //nv du
q.push(x);
}
}
}
}
int main(){
dandelion
cin>>n>>k;
FOR(i,1,n){
int q;
cin>>q;
while(q--){
int x;
cin>>x;
g[x].pb(i);
}
}
FOR(i,1,n){
fill(f+1,f+n+1,0);
fill(dd+1,dd+n+1,false);
bfs(i);
}
cout<<res;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZGFuZGVsaW9uIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKI2RlZmluZSBGT1IoaSxhLGIpIGZvcihsb25nIGxvbmcgaT1hO2k8PWI7aSsrKQojZGVmaW5lIEZPRChpLGEsYikgZm9yKGxvbmcgbG9uZyBpPWE7aT49YjtpLS0pCiNkZWZpbmUgcGIgcHVzaF9iYWNrCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTiA9IDFlNis1OwoKaW50IG4sazsKdmVjdG9yPGludD4gZ1tOXTsKbGwgZltOXSA9IHt9Owpib29sIGRkW05dID0ge307CmxsIHJlcyA9IExMT05HX01BWDsKCnZvaWQgYmZzKGludCB1KXsgIC8vZGluaCBjYXkKCWxsIHRtcCA9IDA7CglmW3VdID0gMTsgICAvL3RhbmcgbG9wCglpbnQgY250ID0gMTsgICAvL3NsIG5oYW4gdmllbiAKCXRtcCArPSBmW3VdKms7ICAgIC8vbHVvbmcgY3VhIGRpbmggY2F5IGxhIHRoYXAgbmhhdAoJCglxdWV1ZTxpbnQ+IHE7CglxLnB1c2godSk7CglkZFt1XSA9IHRydWU7CgkKCXdoaWxlKCFxLmVtcHR5KCkpewoJCWludCB2ID0gcS5mcm9udCgpOwoJCXEucG9wKCk7CgkJZm9yKGludCB4IDogZ1t2XSl7ICAvL252IGJlbiBkdW9pCgkJCWlmKGRkW3hdID09IGZhbHNlKXsKCQkJCWRkW3hdID0gdHJ1ZTsKCQkJCWNudCsrOwoJCQkJZlt4XSA9IGZbdl0gKyAxOwoJCQkJdG1wICs9IGZbeF0qazsKCQkJCWlmKHRtcCA+IHJlcykgcmV0dXJuOyAgLy9rbyB0b2kgdXUgdGhpIGJvIGRpCgkJCQlpZihjbnQgPT0gbikgcmVzID0gbWluKHJlcyx0bXApOyAgLy9udiBkdQoJCQkJcS5wdXNoKHgpOwoJCQl9CgkJfQoJfQp9CgppbnQgbWFpbigpewoJZGFuZGVsaW9uCgkKCWNpbj4+bj4+azsKCUZPUihpLDEsbil7CgkJaW50IHE7CgkJY2luPj5xOwoJCXdoaWxlKHEtLSl7CgkJCWludCB4OwoJCQljaW4+Png7CgkJCWdbeF0ucGIoaSk7CgkJfQoJfQoJCglGT1IoaSwxLG4pewoJCWZpbGwoZisxLGYrbisxLDApOwoJCWZpbGwoZGQrMSxkZCtuKzEsZmFsc2UpOwoJCWJmcyhpKTsKCX0KCQoJY291dDw8cmVzOwoJCglyZXR1cm4gMDsKfQo=