#include<bits/stdc++.h>
using namespace std;
int zj[6001]={0},zhu;
int n,a[6001]={0},l[6001]={0},k[6001]={0};
long long ans=0;
bool flag[6001]={false},d[6001]={false};
int dp(int n)
{
int sum;
for(int i=1;i<=n;i++)
{
if(k[i]==n)
{
d[l[i]]=true;
}
}
for(int i=1;i<=n;i++)
{
if(d[i]==false)
{
sum+=a[i];
}
}
if(sum>ans)
{
return sum;
}
}
int work(int a)
{
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
cin>>k[i]>>l[i];
}
for(int i=1;i<=n;i++)
{
zj[l[i]]=k[i];
}
for(int i=1;i<=n;i++)
{
if(zj[i]==0)
{
zhu=i;
break;
}
}
cout<<dp(1);
return 0;
}