from collections import defaultdict N = int(input()) edge = defaultdict(list) for i in range(1,N+1): A = list(map(int, input().split()))[1:] edge[i] = A def dfs(start): todo = [start,] seen = [False] * (N+1) while todo: tgt = todo.pop() if seen[tgt]: continue seen[tgt] = True for next in edge[tgt]: todo.append(next) return seen connected = dfs(1) if(all(connected[1:])): print("Yes") else: print("No")