#include <bits/stdc++.h>
using namespace std;
#define MAXN 5005
#define int long long
int n;
vector<int> boss[MAXN];
int parent[MAXN],deg[MAXN];
queue<int> nodes;
int dp[MAXN];
int32_t main()
{
cin>>n;
for (int node=1;node<=n;node++)
{
int siz;cin>>siz;for (int num=1;num<=siz;num++) {int sled;cin>>sled;boss[sled].push_back(node);}
}
int answer=LLONG_MAX;
for (int root=1;root<=n;root++)
{
for (int node=1;node<=n;node++) {parent[node]=-1;deg[node]=0;dp[node]=0;}
deg[root]=1;nodes.push(root);
while (!nodes.empty())
{
int node=nodes.front();nodes.pop();
for (int sled:boss[node])
{
if (deg[sled]!=0) continue;
deg[node]++;deg[sled]++;
nodes.push(sled);parent[sled]=node;
}
}
for (int node=1;node<=n;node++)
{
if (deg[node]==1 and node!=root) nodes.push(node);
}
while (!nodes.empty())
{
int node=nodes.front();nodes.pop();
if (deg[node]==0) continue;
dp[node]++;deg[node]=0;
if (parent[node]==-1) continue;
dp[parent[node]]+=dp[node];nodes.push(parent[node]);
}
int solution=0;
for (int node=1;node<=n;node++) solution+=dp[node];
answer=min(answer,solution);
}
cout<<answer<<endl;
}