#include <bits/stdc++.h>

using namespace std;

vector<int> adj[200001];
long long a[200001];
long long suma = 0;

int main()
{
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);

    int n;
    cin >> n;
    bool z = true;
    cin >> a[1];
    for (int i = 2; i <= n; i++) {
        cin >> a[i];
        if(a[i] != a[i - 1]) z = false;
    }
    int u, v;
    for(int i = 0; i < n - 1; i++) {
        cin >> u >> v;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
  //  if(z){
  //  return 0;
  //  }
     if(adj[n][0] = 1){
        for(int i = 0; i < n - 1; i++) {
        suma += a[i + 2];
        }
        if(suma >= a[1]) {
            cout << a[1] << "\n" << 1 << "\n" << 1 << "\n" << 0;
        }
        else{
            cout << suma << "\n" << n - 1 << "\n";
            for(int i = 2; i <=n; i++) cout << i << " ";
            cout << "\n" << 0;
        }
    }
    return 0;
}