#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int inf=3000;
struct edge{
ll to,next;
}e[inf*inf];
ll head[inf],cnt;
ll in[inf];
void add(int u,int v){
e[++cnt]={v,head[u]};
head[u]=cnt;
}
ll n;
queue<int>q;
ll ans;
ll vis[505];
ll maxn;
void toposort(){
for(int i=1;i<=maxn;i++){
if(!in[i]&&vis[i]){
ans++;
q.push(i);
}
}
while(q.size()){
ll x=q.front();q.pop();
for(ll i=head[x];i;i=e[i].next){
ll j=e[i].to;
in[j]--;
if(!in[j]&&vis[j]){
ans++;
q.push(j);
}
}
}
}
int main(){
cin>>n;
ll a,m,c;
for(ll i=0;i<n;i++){
cin>>a>>m;
vis[a]=1;
for(int j=0;j<m;j++){
cin>>c;
add(a,c);
in[c]++;
maxn=max(max(a,c),maxn);
}
}
toposort();
if(ans<n)
cout<<n-ans;
else
cout<<"Yes";
return 0;
}