#include <bits/stdc++.h>

using namespace std;

vector <int> veze[200010];
int dveze[200010];
long long cena[200010];

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin>>n;
    int i,j;
    for(i=0;i<n;i++){
        dveze[i]=0;
        cin>>cena[i];
    }
    int s,c;
    for(i=0;i<n-1;i++){
        cin>>s>>c;
        s--;
        c--;
        veze[s].push_back(c);
        veze[c].push_back(s);
        (dveze[s])++;
        (dveze[c])++;
    }
    if(dveze[0]==n-1){
        long long ukupno=0;
        for(i=1;i<n;i++){
            ukupno+=cena[i];
        }
        if(ukupno<cena[0]){
            cout<<ukupno<<endl;
            cout<<n-1<<endl;
            for(i=2;i<=n;i++){
                cout<<i<<" ";
            }
            cout<<endl;
            cout<<"0"<<endl;
        }
        else{
            cout<<cena[0]<<endl;
            cout<<"1"<<endl<<"1"<<endl<<"0"<<endl;
        }
    }
    return 0;
}