#include<bits/stdc++.h>
using namespace std;
#define mod 1000000007
typedef long long int ll;


/*void solve(vector<bool>&v,ll n){
    for(ll p=2;p<=sqrt(n); p++){ 
        if(v[p] == true){   
            for(ll i=p*p;i<n;i+=p) 
                v[i] = false; 
        } 
    }
}*/





int main(){
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        vector<ll>w(n);
        ll sum = 0;
        for(int i=0;i<n;i++){
            cin>>w[i];
            sum += w[i];
        }
        vector<ll>deg(n);
        for(int i=0;i<n-1;i++){
            ll x,y;
            cin>>x>>y;
            x--;
            y--;
            deg[x]++;
            deg[y]++;
        }
        vector<pair<ll,ll>>v;
        for(int i=0;i<n;i++){
            v.push_back(make_pair(w[i],deg[i]));
        }
        sort(v.begin(),v.end());
        reverse(v.begin(),v.end());
        vector<ll>ans;
        ans.push_back(sum);
        int j=0;
        for(int i=2;i<=n-1;i++){
            while(j<n && v[j].second == 1){
                j++;
            }
            sum += v[j].first;
            ans.push_back(sum);
            v[j].second--;
        }
        for(int i=0;i<ans.size();i++){
            cout<<ans[i]<<" ";
        }
        cout<<endl;

    }
}        
  

