#include<bits/stdc++.h>
using namespace std;
int n,i,x,y,a[6005][2],t,f[6005];
void aaaa(int rt)
{
for(i=1;i<=n;i++)
{
if(f[i]==rt)
{
aaaa(i);
a[rt][0]+=max(a[i][0],a[i][1]);
a[rt][1]+=a[i][0];
}
}
return;
}
int main()
{
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i][1];
}
for(i=1;i<=n-1;i++)
{
cin>>x>>y;
f[x]=y;
}
cin>>x>>y;
for(i=1;i<=n;i++)
{
if(!f[i])
{
t=i;
}
}
aaaa(t);
cout<<max(a[t][0],a[t][1]);
}