//NiceDuck
#include "bits/stdc++.h"
typedef long long ll;
using namespace std;
#define FILE "000"
#define foru(i,a,b) for(int i=(int)(a); i<=(int)(b); ++i)
#define ford(i,a,b) for(int i=(int)(a); i>=(int)(b); --i)
#define fastio ios_base::sync_with_stdio(0);cin.tie(0);
#define pb push_back
#define fi first
#define se second
#define pii pair<int,int>
#define pil pair<int,ll>
#define pli pair<ll,int>
#define MOD 1000000007
#define el "\n"
const int MAX=2e5+5;
int n,m;
pair<int,int> q[MAX];
ll ans[MAX];
vector<int> adj[MAX];
struct Edge
{
ll w; int u,v;
};
vector<Edge> edge;
bool cmp(const Edge &x, const Edge &y)
{
return x.w<y.w;
}
int par[MAX],sz[MAX];
void buildDsu()
{
foru(i,1,n)
{
par[i]=i;
sz[i]=1;
}
}
int find_par(int u)
{
if(par[u]==u) return u;
return par[u]=find_par(par[u]);
}
void join(int u, int v)
{
u=find_par(u); v=find_par(v);
if(u==v) return;
if(sz[v]>sz[u]) swap(u,v);
par[v]=u;
sz[u]+=sz[v];
return;
}
int main()
{
fastio
if(fopen(FILE ".inp","r"))
{
freopen(FILE ".inp","r",stdin);
freopen(FILE ".out","w",stdout);
}
cin>>n>>m;
foru(i,1,n-1)
{
int u,v; ll w; cin>>u>>v>>w;
edge.pb({w,u,v});
}
buildDsu();
foru(i,1,m)
{
cin>>q[i].fi;
q[i].se=i;
}
sort(q+1,q+m+1);
if(edge.size()==0)
{
foru(i,1,m) cout<<"0 ";
return 0;
}
sort(edge.begin(),edge.end(),cmp);
int j=0;
ll curAns=0;
foru(i,1,m)
{
ans[q[i].se]=curAns;
if(edge[j].w>q[i].fi) continue;
else
{
while(j<edge.size() && edge[j].w<=q[i].fi)
{
int u=edge[j].u, v=edge[j].v;
++j;
u=find_par(u); v=find_par(v);
if(u==v) continue;
curAns+=(1LL*sz[u]*sz[v]);
join(u,v);
}
}
ans[q[i].se]=curAns;
}
foru(i,1,m) cout<<ans[i]<<' ';
return 0;
}
Ly9OaWNlRHVjawojaW5jbHVkZSAiYml0cy9zdGRjKysuaCIKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRklMRSAiMDAwIgojZGVmaW5lIGZvcnUoaSxhLGIpIGZvcihpbnQgaT0oaW50KShhKTsgaTw9KGludCkoYik7ICsraSkKI2RlZmluZSBmb3JkKGksYSxiKSBmb3IoaW50IGk9KGludCkoYSk7IGk+PShpbnQpKGIpOyAtLWkpCiNkZWZpbmUgZmFzdGlvIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTsKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgcGlsIHBhaXI8aW50LGxsPgojZGVmaW5lIHBsaSBwYWlyPGxsLGludD4KI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIGVsICJcbiIKCmNvbnN0IGludCBNQVg9MmU1KzU7CmludCBuLG07CnBhaXI8aW50LGludD4gcVtNQVhdOwpsbCBhbnNbTUFYXTsKdmVjdG9yPGludD4gYWRqW01BWF07CnN0cnVjdCBFZGdlIAp7CiAgICBsbCB3OyBpbnQgdSx2Owp9Owp2ZWN0b3I8RWRnZT4gZWRnZTsKYm9vbCBjbXAoY29uc3QgRWRnZSAmeCwgY29uc3QgRWRnZSAmeSkKewogICAgcmV0dXJuIHgudzx5Lnc7Cn0KCmludCBwYXJbTUFYXSxzeltNQVhdOwp2b2lkIGJ1aWxkRHN1KCkKewogICAgZm9ydShpLDEsbikKICAgIHsKICAgICAgICBwYXJbaV09aTsKICAgICAgICBzeltpXT0xOwogICAgfQp9CmludCBmaW5kX3BhcihpbnQgdSkKewogICAgaWYocGFyW3VdPT11KSByZXR1cm4gdTsKICAgIHJldHVybiBwYXJbdV09ZmluZF9wYXIocGFyW3VdKTsKfQp2b2lkIGpvaW4oaW50IHUsIGludCB2KQp7CiAgICB1PWZpbmRfcGFyKHUpOyB2PWZpbmRfcGFyKHYpOwogICAgaWYodT09dikgcmV0dXJuOwogICAgaWYoc3pbdl0+c3pbdV0pIHN3YXAodSx2KTsKICAgIHBhclt2XT11OwogICAgc3pbdV0rPXN6W3ZdOwogICAgcmV0dXJuOwp9CgppbnQgbWFpbigpCnsKICAgIGZhc3RpbwogICAgaWYoZm9wZW4oRklMRSAiLmlucCIsInIiKSkKICAgIHsKICAgICAgIGZyZW9wZW4oRklMRSAiLmlucCIsInIiLHN0ZGluKTsKICAgICAgIGZyZW9wZW4oRklMRSAiLm91dCIsInciLHN0ZG91dCk7CiAgICB9CiAgICAKICAgIGNpbj4+bj4+bTsgCiAgICBmb3J1KGksMSxuLTEpCiAgICB7CiAgICAgICAgaW50IHUsdjsgbGwgdzsgY2luPj51Pj52Pj53OwogICAgICAgIGVkZ2UucGIoe3csdSx2fSk7CiAgICB9CiAgICBidWlsZERzdSgpOwogICAgZm9ydShpLDEsbSkKICAgIHsKICAgICAgICBjaW4+PnFbaV0uZmk7CiAgICAgICAgcVtpXS5zZT1pOwogICAgfQogICAgc29ydChxKzEscSttKzEpOwogICAgaWYoZWRnZS5zaXplKCk9PTApCiAgICB7CiAgICAgICAgZm9ydShpLDEsbSkgY291dDw8IjAgIjsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHNvcnQoZWRnZS5iZWdpbigpLGVkZ2UuZW5kKCksY21wKTsKICAgIGludCBqPTA7CiAgICBsbCBjdXJBbnM9MDsKICAgIGZvcnUoaSwxLG0pCiAgICB7CiAgICAgICAgYW5zW3FbaV0uc2VdPWN1ckFuczsKICAgICAgICBpZihlZGdlW2pdLnc+cVtpXS5maSkgY29udGludWU7CiAgICAgICAgZWxzZSAKICAgICAgICB7CiAgICAgICAgICAgIHdoaWxlKGo8ZWRnZS5zaXplKCkgJiYgZWRnZVtqXS53PD1xW2ldLmZpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpbnQgdT1lZGdlW2pdLnUsIHY9ZWRnZVtqXS52OwogICAgICAgICAgICAgICAgKytqOwogICAgICAgICAgICAgICAgdT1maW5kX3Bhcih1KTsgdj1maW5kX3Bhcih2KTsKICAgICAgICAgICAgICAgIGlmKHU9PXYpIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgY3VyQW5zKz0oMUxMKnN6W3VdKnN6W3ZdKTsKICAgICAgICAgICAgICAgIGpvaW4odSx2KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBhbnNbcVtpXS5zZV09Y3VyQW5zOwogICAgfQogICAgZm9ydShpLDEsbSkgY291dDw8YW5zW2ldPDwnICc7CiAgICAKICAgIHJldHVybiAwOwp9