import sys from bisect import bisect_left, bisect_right from collections import defaultdict, deque from itertools import product INF = int(1e18); arr4 = ((-1, 0), (0, -1), (1, 0), (0, 1)) def dmp(*args, sep=" ", end="\n"): print(*args, sep=sep, end=end, file=sys.stderr) if "DEBUG" not in sys.argv: dmp = lambda *args: None import pypyjit sys.setrecursionlimit(10**7); pypyjit.set_param('max_unroll_recursion=0') n = int(input()) g = [[] for _ in range(n)] for i in range(n): m, *a = map(lambda x: int(x)-1, input().split()) for x in a: g[i].append(x) visited = [0] * n def dfs(v): if visited[v]: return visited[v] = 1 for nv in g[v]: dfs(nv) dfs(0) print('Yes' if sum(visited) == n else 'No')