#include <bits/stdc++.h>
#define int long long
using namespace std;
const int
maxN = 1e5,
maxK = 100,
oo = 1e18;
int n, k, cur;
vector <int> w[maxN + 1];
int vl_fst[maxN + 1],
a[2 * maxN + 1],
dp[2 * maxN + 1][maxK + 1],
p[2 * maxN + 1],
e[2 * maxN + 1];
struct Limit{
int l, r;
} lim[maxN + 1];
int getSum(int i, int j){
return p[j] - p[i - 1];
}
void init(){
cin>>n>>k;
for (int i = 1; i <= n; i++)
cin>>vl_fst[i];
for (int i = 1; i < n; i++){
int u, v; cin>>u>>v;
w[u].push_back(v);
w[v].push_back(u);
}
}
void dfs(int u, int pre){
lim[u].l = ++cur;
for (int v: w[u])
if (pre != v)
dfs(v, u);
lim[u].r = ++cur;
}
void make_ea(){
dfs(1, 0);
for (int i = 1; i <= n; i++){
e[lim[i].l] = i;
e[lim[i].r] = i;
a[lim[i].l] = vl_fst[i];
}
for (int i = 1; i <= 2 * n; i++)
p[i] = p[i - 1] + a[i];
}
void make_dp(){
for (int i = 1; i <= 2 * n; i++)
for (int j = 1; j <= k; j++)
dp[i][j] = oo;
for (int i = 1; i <= 2 * n; i++){
int val = e[i];
if (lim[val].l == i){
for (int j = 1; j <= k; j++)
dp[i][j] = dp[i - 1][j];
continue;
}
int l_pre = lim[e[i]].l - 1;
for (int j = 1; j <= k; j++){
int tmp,
uv1 = dp[i - 1][j],
uv2 = dp[l_pre][j - 1]
+ getSum(lim[e[i]].l, lim[e[i]].r);
if (dp[l_pre][j - 1] == oo)
tmp = uv1;
else tmp = min(uv1, uv2);
dp[i][j] = min(dp[i][j], tmp);
}
}
}
void solve(){
int org = getSum(1, 2 * n),
bu = 2e18;
for (int i = 1; i <= k; i++)
bu = min(bu, dp[2 * n][i]);
cout<<org - bu;
}
signed main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
init(); make_ea(); make_dp(); solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgCiAgICBtYXhOID0gMWU1LAogICAgbWF4SyA9IDEwMCwKICAgIG9vID0gMWUxODsKaW50IG4sIGssIGN1cjsKdmVjdG9yIDxpbnQ+IHdbbWF4TiArIDFdOwppbnQgdmxfZnN0W21heE4gKyAxXSwKICAgIGFbMiAqIG1heE4gKyAxXSwKICAgIGRwWzIgKiBtYXhOICsgMV1bbWF4SyArIDFdLAogICAgcFsyICogbWF4TiArIDFdLAogICAgZVsyICogbWF4TiArIDFdOwpzdHJ1Y3QgTGltaXR7CiAgICBpbnQgbCwgcjsKfSBsaW1bbWF4TiArIDFdOwppbnQgZ2V0U3VtKGludCBpLCBpbnQgail7CiAgICByZXR1cm4gcFtqXSAtIHBbaSAtIDFdOwp9CnZvaWQgaW5pdCgpewogICAgY2luPj5uPj5rOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgICAgIGNpbj4+dmxfZnN0W2ldOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPCBuOyBpKyspewogICAgICAgIGludCB1LCB2OyBjaW4+PnU+PnY7CiAgICAgICAgd1t1XS5wdXNoX2JhY2sodik7CiAgICAgICAgd1t2XS5wdXNoX2JhY2sodSk7CiAgICB9Cn0Kdm9pZCBkZnMoaW50IHUsIGludCBwcmUpewogICAgbGltW3VdLmwgPSArK2N1cjsKICAgIGZvciAoaW50IHY6IHdbdV0pCiAgICAgICAgaWYgKHByZSAhPSB2KQogICAgICAgICAgICBkZnModiwgdSk7CiAgICBsaW1bdV0uciA9ICsrY3VyOwp9CnZvaWQgbWFrZV9lYSgpewogICAgZGZzKDEsIDApOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKXsKICAgICAgICBlW2xpbVtpXS5sXSA9IGk7CiAgICAgICAgZVtsaW1baV0ucl0gPSBpOwogICAgICAgIGFbbGltW2ldLmxdID0gdmxfZnN0W2ldOwogICAgfQogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gMiAqIG47IGkrKykKICAgICAgICBwW2ldID0gcFtpIC0gMV0gKyBhW2ldOwp9CnZvaWQgbWFrZV9kcCgpewogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gMiAqIG47IGkrKykKICAgICAgICBmb3IgKGludCBqID0gMTsgaiA8PSBrOyBqKyspCiAgICAgICAgICAgIGRwW2ldW2pdID0gb287CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSAyICogbjsgaSsrKXsKICAgICAgICBpbnQgdmFsID0gZVtpXTsKICAgICAgICBpZiAobGltW3ZhbF0ubCA9PSBpKXsKICAgICAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPD0gazsgaisrKQogICAgICAgICAgICAgICAgZHBbaV1bal0gPSBkcFtpIC0gMV1bal07CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpbnQgbF9wcmUgPSBsaW1bZVtpXV0ubCAtIDE7CiAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPD0gazsgaisrKXsKICAgICAgICAgICAgaW50IHRtcCwKICAgICAgICAgICAgICAgIHV2MSA9IGRwW2kgLSAxXVtqXSwKICAgICAgICAgICAgICAgIHV2MiA9IGRwW2xfcHJlXVtqIC0gMV0gCisgZ2V0U3VtKGxpbVtlW2ldXS5sLCBsaW1bZVtpXV0ucik7CiAgICAgICAgICAgIGlmIChkcFtsX3ByZV1baiAtIDFdID09IG9vKQogICAgICAgICAgICAgICAgdG1wID0gdXYxOwogICAgICAgICAgICBlbHNlIHRtcCA9IG1pbih1djEsIHV2Mik7CiAgICAgICAgICAgIGRwW2ldW2pdID0gbWluKGRwW2ldW2pdLCB0bXApOwogICAgICAgIH0KICAgIH0KfQp2b2lkIHNvbHZlKCl7CiAgICBpbnQgb3JnID0gZ2V0U3VtKDEsIDIgKiBuKSwKICAgICAgICBidSA9IDJlMTg7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBrOyBpKyspCiAgICAgICAgYnUgPSBtaW4oYnUsIGRwWzIgKiBuXVtpXSk7CiAgICBjb3V0PDxvcmcgLSBidTsKfQpzaWduZWQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKE5VTEwpOyBjb3V0LnRpZShOVUxMKTsKICAgIGluaXQoKTsgbWFrZV9lYSgpOyBtYWtlX2RwKCk7IHNvbHZlKCk7Cn0=