#include <bits/stdc++.h> // ZENDA
using namespace std;
#define ll long long
const ll lim=1e3+7;
ll n,res=0,tmp=0;
vector <ll> G[lim];
vector <ll> GV[lim];
bool par[lim],ok[lim];
vector <ll> goc;
void dfs(ll u){
ok[u]=1;
ll td=1;
if (tmp) return ;
for (ll v:G[u]){
if (tmp) return ;
if (!ok[v]){
td=0;
dfs(v);
}
}
if (td) tmp=1;
}
void dfsn(ll u){
ll td=0;
for (ll v:GV[u]){
if (tmp) return;
if (!ok[v]){
td=1;
dfsn(v);
}
}
if (tmp) return;
if (!td){
goc.push_back(u);
tmp=1;
}
}
int main(){
cin.tie(nullptr)->sync_with_stdio(0);
#define F "LONGCA"
if (ifstream(F".inp")){
freopen(F".inp","r",stdin);
freopen(F".out","w",stdout);
}
cin>>n;
for (ll i=1;i<=n;i++){
ll m;cin>>m;
for (ll j=1;j<=m;j++){
ll u;cin>>u;
G[i-1].push_back(u);
GV[u].push_back(i-1);
par[u]=1;
}
}
for (ll i=0;i<n;i++) if (!par[i]) goc.push_back(i);
res=goc.size();
for (ll u:goc){
tmp=0;
dfs(u);
}
ll td1=1;
while (td1){
td1=0;
goc.clear();
for (ll i=0;i<n;i++)
if (!ok[i]){
tmp=0;
dfsn(i);
}
if (goc.size()){
td1=1;
for (ll u:goc){
if (!ok[u]){
tmp=0;
dfs(u);
res++;
}
}
}
}
cout<<res;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IC8vIFpFTkRBCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCmNvbnN0IGxsIGxpbT0xZTMrNzsKbGwgbixyZXM9MCx0bXA9MDsKdmVjdG9yIDxsbD4gR1tsaW1dOwp2ZWN0b3IgPGxsPiBHVltsaW1dOwpib29sIHBhcltsaW1dLG9rW2xpbV07CnZlY3RvciA8bGw+IGdvYzsKdm9pZCBkZnMobGwgdSl7CiAgICBva1t1XT0xOwogICAgbGwgdGQ9MTsKICAgIGlmICh0bXApIHJldHVybiA7CiAgICBmb3IgKGxsIHY6R1t1XSl7CiAgICAgICAgaWYgKHRtcCkgcmV0dXJuIDsKICAgICAgICBpZiAoIW9rW3ZdKXsKICAgICAgICAgICAgdGQ9MDsKICAgICAgICAgICAgZGZzKHYpOwogICAgICAgIH0KICAgIH0KICAgIGlmICh0ZCkgdG1wPTE7Cn0Kdm9pZCBkZnNuKGxsIHUpewogICAgbGwgdGQ9MDsKICAgIGZvciAobGwgdjpHVlt1XSl7CiAgICAgICAgaWYgKHRtcCkgcmV0dXJuOwogICAgICAgIGlmICghb2tbdl0pewogICAgICAgICAgICB0ZD0xOwogICAgICAgICAgICBkZnNuKHYpOwogICAgICAgIH0KICAgIH0KICAgIGlmICh0bXApIHJldHVybjsKICAgIGlmICghdGQpewogICAgICAgIGdvYy5wdXNoX2JhY2sodSk7CiAgICAgICAgdG1wPTE7CiAgICB9Cn0KaW50IG1haW4oKXsKICAgIGNpbi50aWUobnVsbHB0ciktPnN5bmNfd2l0aF9zdGRpbygwKTsKICAgICNkZWZpbmUgRiAiTE9OR0NBIgogICAgaWYgKGlmc3RyZWFtKEYiLmlucCIpKXsKICAgICAgICBmcmVvcGVuKEYiLmlucCIsInIiLHN0ZGluKTsKICAgICAgICBmcmVvcGVuKEYiLm91dCIsInciLHN0ZG91dCk7CiAgICB9CiAgICBjaW4+Pm47CiAgICBmb3IgKGxsIGk9MTtpPD1uO2krKyl7CiAgICAgICAgbGwgbTtjaW4+Pm07CiAgICAgICAgZm9yIChsbCBqPTE7ajw9bTtqKyspewogICAgICAgICAgICBsbCB1O2Npbj4+dTsKICAgICAgICAgICAgR1tpLTFdLnB1c2hfYmFjayh1KTsKICAgICAgICAgICAgR1ZbdV0ucHVzaF9iYWNrKGktMSk7CiAgICAgICAgICAgIHBhclt1XT0xOwogICAgICAgIH0KICAgIH0KICAgIGZvciAobGwgaT0wO2k8bjtpKyspIGlmICghcGFyW2ldKSBnb2MucHVzaF9iYWNrKGkpOwogICAgcmVzPWdvYy5zaXplKCk7CiAgICBmb3IgKGxsIHU6Z29jKXsKICAgICAgICB0bXA9MDsKICAgICAgICBkZnModSk7CiAgICB9CiAgICBsbCB0ZDE9MTsKICAgIHdoaWxlICh0ZDEpewogICAgICAgIHRkMT0wOwogICAgICAgIGdvYy5jbGVhcigpOwogICAgICAgIGZvciAobGwgaT0wO2k8bjtpKyspCiAgICAgICAgICAgIGlmICghb2tbaV0pewogICAgICAgICAgICAgICAgdG1wPTA7CiAgICAgICAgICAgICAgICBkZnNuKGkpOwogICAgICAgICAgICB9CiAgICAgICAgaWYgKGdvYy5zaXplKCkpewogICAgICAgICAgICB0ZDE9MTsKICAgICAgICAgICAgZm9yIChsbCB1OmdvYyl7CiAgICAgICAgICAgICAgICBpZiAoIW9rW3VdKXsKICAgICAgICAgICAgICAgICAgICB0bXA9MDsKICAgICAgICAgICAgICAgICAgICBkZnModSk7CiAgICAgICAgICAgICAgICAgICAgcmVzKys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBjb3V0PDxyZXM7CiAgICByZXR1cm4gMDsKfQ==