#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int n;
while (cin>>n){
vector<int> money(n+1);
for (int i = 1; i <= n; ++i) {
cin>>money[i];
}
int child,father;
vector<int> family(money);
for (int i = 0; i < n-1; ++i) {
cin>>father>>child;
family[father] += money[child];
}
int ans = *max_element(family.begin(), family.end());
cout<<ans<<endl;
}
return 0;
}