#include <stdio.h> #include <bits/stdc++.h> #include <atcoder/all> using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 1000000000000000001 int main(){ int n; cin>>n; vector<vector<int>> E(n); scc_graph S(n); rep(i,n){ int m; cin>>m; rep(j,m){ int a; cin>>a; a--; E[i].push_back(a); S.add_edge(i,a); } } auto s = S.scc(); vector<int> pos(n); rep(i,s.size()){ for(auto x:s[i]){ pos[x] = i; } } if(pos[0]!=0){ cout<<"No"<<endl; return 0; } rep(i,s.size()-1){ bool f = false; rep(j,s[i].size()){ rep(k,E[s[i][j]].size()){ if(pos[E[s[i][j]][k]]==i+1){ f = true; break; } } }if(!f){ cout<<"No"<<endl; return 0; } } cout<<"Yes"<<endl; return 0; }