#include<bits/stdc++.h>
using namespace std;
int ha[6003];//快乐指数
int fa[6003];//上司数组
int dp[6003];//dp[i]表示i职员必须参加舞会时的最大快乐值
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>ha[i];
for(int i=1;i<n;i++)
{
int a,b;
cin>>a>>b;
fa[a]=b;//b为a的上司
}
dp[1]=ha[1];
for(int i=2;i<=n;i++){
for(int j=1;j<i;j++){
if(fa[j]!=i)
{
int t=dp[j]+ha[i];
for(int k=1;k<j;k++){
if(fa[k]==i)//减去i为直属上司的职员的快乐
t-=ha[k];
}
dp[i]=max(t,dp[i]);
}
}
}
int ans=0;
for(int i=1;i<=n;i++)
ans=max(ans,dp[i]);
cout<<ans<<endl;
}