from collections import deque N=int(input()) G=[[] for _ in range(N*2)] for i in range(N): MA=list(map(int,input().split())) if len(MA)==1:continue for j in range(1,len(MA)): v=i u=MA[j]-1 G[v].append(u) G[v+N].append(u+N) Q=deque() vis=[False for _ in range(N*2)] vis[0]=True Q.append(0) while len(Q): pos=Q.popleft() for nxt in G[pos]: if not vis[nxt]: vis[nxt]=True Q.append(nxt) continue if nxt+N=0 and not vis[nxt-N]: vis[nxt+N]=True Q.append(nxt+N) for i in range(N): if not vis[i] and not vis[i+N]: print("No") exit(0) print("Yes")