#include<bits/stdc++.h>
using namespace std;
int main(){

    int n;
    cin>>n;

    int niz[n+5];
    vector<vector<int> > v( n );

    for(int i=0;i<n;i++){
        cin>>niz[i];
    }

    int a,b;
    for(int i=0;i<n-1;i++){

        cin>>a>>b;

        a--;
        b--;
        v[a].push_back(b);
        v[b].push_back(a);
    }

    if(v[0].size() == n-1){

        int u=0;
        for(int i=1;i<n;i++){

            u += niz[i];
        }
        cout<<min(niz[0],u);
    }

}