1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
#define per(i,n) for(int i=n-1;i>=0;i--)
#define rng(i,c,n) for(int i=c;i<n;i++)
#define fi first
#define se second
#define vec vector
#define pb push_back
#define sz(a) (int)a.size()
#define all(a) a.begin(),a.end()
typedef long long ll;
typedef vector<int> vi;
typedef pair<int,int> pii;
void print(){cout<<'\n';}
template<class h,class...t>
void print(const h&v,const t&...u){cout<<v<<' ',print(u...);}

// bool flag=0;

void slv(){
	int n,k;
	cin>>n>>k;

	// if(flag) cout<<n<<" "<<k<<"\n";

	vec<vi> a(n);
	a[0]=vi(k,-1);
	rng(i,1,n){
		int si;
		cin>>si;
		// if(flag) cout<<si<<" ";
		rep(j,si){
			int x;
			cin>>x;
			// if(flag) cout<<x<<" ";
			x--;
			a[i].pb(x);
		}
		// if(flag) cout<<"\n";
	}

	vec<vi> f(n);
	vec<vi> has(n);
	vec<vec<pii>> root(n);
	rep(i,n){
		int si=sz(a[i]);
		has[i]=vi(si,0);
		root[i]=vec<pii>(si);
		f[i]=vi(si,0);
		rep(j,si){
			int v=a[i][j];
			if(v!=-1){
				has[i-1][v]=1;
				root[i][j]=root[i-1][v];
			}else{
				root[i][j]={i,j};
			}
		}
	}

	int ans=0;
	rep(i,n){
		int si=sz(a[i]);
		rep(j,si){
			if(has[i][j]==0){
				ans++;
				auto [pi,pj]=root[i][j];
				f[pi][pj]++;
			}
		}
	}

	// print(f[4][0]);

	int cnt=0;
	per(i,n){
		int si=sz(a[i]);
		rep(j,si){
			// es aris potoli
			if(has[i][j]==0){
				if(cnt>0){
					// print(i,j,cnt);
					auto [pi,pj]=root[i][j];
					// f[pi][pj]--;
					cnt--;
					ans--;
				}
			}
		}
		rep(j,si){
			// es aris root
			if(a[i][j]==-1){
				cnt+=f[i][j];
			}
		}
		// if(i==4) print(cnt);
	}
	cout<<ans<<"\n";
}

signed main(){
	ios::sync_with_stdio(0),cin.tie(0);

	int t;
	t=1;
	// cin>>t;

	rep(cs,t){
		slv();
	}
}