leaf = set() def dfs(cv, pv, G, depth): is_leaf = True for nv in G[cv]: if nv == pv: continue dfs(nv, cv, G, depth + 1) is_leaf = False if is_leaf: leaf.add(depth) n = int(input()) G = [[] for i in range(n)] deg = [0 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 G[a].append(b) G[b].append(a) root = [] for i in range(n): if deg[i] == 1 and len(root) <= 10: root.append(i) for i in root: dfs(i, -1, G, 0) if len(leaf) == 1: print("Yes") else: print("No")