#include<bits/stdc++.h>
using namespace std;
int n,w[100005],sum=0;
struct node{int l,r;
}a[100005];
void dfs(int dep,int key){if(key==0){sum+=w[dep];}if(a[dep].l!=-1){dfs(a[dep].l,key+1);}if(a[dep].r!=-1){dfs(a[dep].r,key-1);}
}
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>w[i];}for(int i=1;i<=n;i++){cin>>a[i].l>>a[i].r;}dfs(1,0);cout<<sum;return 0;
}