#include<stdio.h>#include<string.h>#define N 1001int n,map[N][N],match[N],vis[N];int dfs(int x){int i;for(i=0;i<n;i++){if(map[x][i] && !vis[i]){vis[i]=1;if(!match[i] || dfs(match[i])){match[i]=x;return 1;}}}return 0;}int main(){int m,a,i,cnt,x;while(~scanf("%d",&n)){memset(map,0,sizeof(map));for(i=0;i<n;i++){scanf("%d: (%d)",&x,&m);while(m--){scanf("%d",&a);map[x][a]=1;}}memset(match,0,sizeof(match));for(cnt=0,i=0;i<n;i++){memset(vis,0,sizeof(vis));if(dfs(i)) cnt++;}printf("%dn",n-cnt/2);}return 0;}


