import sys;input=sys.stdin.readline from collections.abc import Sequence def MI():return map(int,input().split()) def PRINT(ans): if isinstance(ans,bool): s='Yes' if ans else 'No' elif isinstance(ans,Sequence) and not isinstance(ans,str): s='\n'.join(map(str,ans)) else: s=str(ans) sys.stdout.write(s+'\n') def PRINT1(seq): assert isinstance(seq,Sequence) sys.stdout.write(' '.join(map(str,seq))) sys.stdout.write('\n') INF=10**18 mod=998244353 D4=[(1,0),(-1,0),(0,1),(0,-1)] D8=D4+[(1,1),(-1,1),(1,-1),(-1,-1)] #from math import gcd,lcm,log2,sqrt,isqrt from collections import deque,defaultdict #from heapq import heappop,heappush,heapify #from bisect import bisect_left,bisect_right #from itertools import permutations,combinations,combinations_with_replacement #from functools import lru_cache #from atcoder.dsu import DSU #from atcoder.math import inv_mod ## main N=int(input()) S=defaultdict(int) l=[] for i in range(N): s,t=input().split() l.append((s,t)) S[s]+=1 S[t]+=1 r=True for s,t in l: if S[s]>1 and S[t]>1: r=False break PRINT(r)