from itertools import combinations N = int(input()) P = [0] * N D = [[float('inf')] * N for _ in range(N)] for i in range(N): D[i][i] = 0 for _ in range(N-1): v, u = map(int, input().split()) D[v-1][u-1] = D[u-1][v-1] = 1 P[v-1] += 1 P[u-1] += 1 for k in range(N): for i in range(N): for j in range(N): D[i][j] = min(D[i][j], D[i][k] + D[k][j]) val = 0 for i, j in combinations([k for k, v in enumerate(P) if v == 1], 2): if val == 0: val = D[i][j] elif val != D[i][j]: print('No') break else: print('Yes')