#include<iostream>
#include<vector>
#include<queue>
using namespace std;
const int N=505;
int n,m,ans,to;
int fa[N];
vector<int>v[N];
queue<int>Q;
int main(){
cin.tie(0)->sync_with_stdio(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>i>>m;
while(m--){
cin>>to;
v[i].push_back(to);
fa[to]++;
}
}
for(int i=1;i<=n;i++){
if(fa[i]==0){
Q.push(i);
}
}
while(!Q.empty()){
int u=Q.front(); Q.pop();
for(int i=0;i<v[u].size();i++){
int son=v[u][i];
fa[son]--;
if(fa[son]==0){
Q.push(son);
}
}
}
for(int i=1;i<=n;i++){
if(fa[i]>0){
ans++;
}
}
if(ans==0){
cout<<"YES";
}
else{
cout<<ans;
}
return 0;
}