
/*
TASK:store
LANG:C
*/

#include<stdio.h>

int n,m;
int i,j;
int a;
int sum=0;
int tbt[16384];
int next[16384];
int prev[16384];
int k,t;
int q[16384];

int main () {
    scanf("%d %d",&n,&m);
    for (i=0;i<n;i++) {
        scanf("%d",&tbt[i]);
        scanf("%d",&next[i]);
        for (j=0;j<next[i];j++) {
            scanf("%d",&a);
            prev[--a]=i;
            }
        }
    for (i=0;i<n;i++)
        if (next[i]==0) {
           q[k++]=i;
           }
    for (i=0;i<k;i++)
        if (q[i]>0) {
           t=q[i];
           sum+=2*(tbt[t]/m+(tbt[t]%m==0?0:1));
           tbt[prev[t]]+=tbt[t];
           next[prev[t]]--;
           if (next[prev[t]]==0)
              q[k++]=prev[t];
           }
    printf("%d\n",sum);
    return 0;
    }
