n = int(input()) s = list(map(int, input().split())) idxes = [i for i in range(n)] idxes.sort(key = lambda x: s[x]) e = [[] for _ in range(n)] for _ in range(n-1): a, b = map(lambda x: int(x)-1, input().split()) e[a].append(b) e[b].append(a) dp = s[:] for u in idxes: for v in e[u]: if s[v] > s[u]: dp[v] = max(dp[v], dp[u]+s[v]) print(max(dp))