import sys input = sys.stdin.readline N=int(input()) A=list(map(int,input().split())) E=[[] for i in range(N)] for i in range(N-1): x,y=list(map(int,input().split())) x-=1 y-=1 E[x].append(y) E[y].append(x) XA=[(A[i],i) for i in range(N)] XA.sort() S=A[:] for s,ind in XA: now=S[ind] for to in E[ind]: if A[to]>A[ind]: S[to]=max(S[to],A[to]+S[ind]) print(max(S))