#include using namespace std; int main() { int N; cin >> N; vector> E(N); for (int i = 0; i < N; i++) { int M; cin >> M; for (int j = 0; j < M; j++) { int A; cin >> A; A--; E[i].push_back(A); } } auto dfs = [&] (auto dfs, vector &used, int v, int cnt) -> void { if (cnt == N) { cout << "Yes" << endl; exit(0); } for (int w : E[v]) { if (!used[w]) { used[w] = true; cnt++; dfs(dfs, used, w, cnt); cnt--; used[w] = false; } } }; vector used(N, false); used[0] = 1; int cnt = 1; dfs(dfs, used, 0, cnt); cout << "No" << endl; }