N = int(input()) deg = [0] * N adj = [[] for i in range(N)] for i in range(N - 1): a, b = map(int, input().split()) a -= 1 b -= 1 deg[a] += 1 deg[b] += 1 adj[a].append(b) adj[b].append(a) aiueo = len(deg) - deg.count(2) - deg.count(1) if aiueo > 1: print("No") exit() if aiueo == 0: print("Yes") exit() from collections import deque r = deg.index(max(deg)) dep = [-1] * N dep[r] = 0 qu = deque([r]) while len(qu): v = qu.popleft() for nv in adj[v]: if dep[nv] == -1: dep[nv] = dep[v] + 1 qu.append(nv) d = -1 for i in range(N): if deg[i] != 1: continue if d != -1 and d != dep[i]: print("No") exit() d = dep[i] print("Yes")