#include <bits/stdc++.h>
using namespace std;
#define faster ios_base::sync_with_stdio(false); cin.tie(NULL)
#define Bit(mask , i) ((mask >> i) & 1)
#define fi first
#define se second
#define _LOG2(nl) 31 - __builtin_clz(nl)
#define c_bit(nl) __builtin_popcount(nl)
#define ii pair<long long , int>
#define lll pair<long long , pair<long long , long long>>
#define lii pair<long long , pair<long long , int>>
#define iii pair<int , pair<int , int>>
#define iiii pair<pair<int , int> , pair<int , int>>
#define llll pair<pair<__int128 , __int128> , pair<__int128 , __int128>>
#define li pair<long long , int>
#define db long double
#define onBit(mask , i) (mask | (1 << i))
#define offBit(mask , i) (mask & (~(1 << i)))
const int N = 1e5 + 7;
int n , cnt = 0 , q;
vector<pair<int , int>> a[N];
int tin[N] , h[N] , up[21][N];
long long Val[N];
bool vit[N];
void dfs(int u , int p){
tin[u] = ++cnt;
for (auto &c : a[u]) if (c.fi != p){
int v = c.fi;
h[v] = h[u] + 1;
Val[v] = Val[u] + c.se;
up[0][v] = u;
dfs(v , u);
}
}
void inp(){
cin >> n >> q;
for (int i = 1 ; i < n ; ++i){
int u , v;
long long w;
cin >> u >> v >> w;
a[u].push_back({v , w});
a[v].push_back({u , w});
}
h[1] = 1;
dfs(1 , 0);
for (int j = 1 ; j <= 17 ; ++j){
for (int i = 1 ; i <= n ; ++i){
up[j][i] = up[j - 1][up[j - 1][i]];
}
}
}
int lca(int u , int v){
if (h[u] < h[v]) swap(u , v);
for (int i = _LOG2(h[u]) ; i >= 0 ; --i) if(h[up[i][u]] >= h[v]){
u = up[i][u];
}
if (u == v) return u;
for (int i = _LOG2(h[u]) ; i >= 0 ; --i) if (up[i][u] != up[i][v]){
u = up[i][u];
v = up[i][v];
}
return up[0][u];
}
long long d(int u , int v){
// if (u == 0 || v == 0) return 0;
// if (u == n + 1 || v == n + 1) return 0;
int p = lca(u , v);
return Val[u] + Val[v] - (1LL * 2) * Val[p];
}
long long Cnt = 0;
set<pair<int , int>> st;
void Push(int id , int in){
st.insert({in , id});
if (st.size() == 1) return;
auto it = st.lower_bound({in , id});
auto it2 = it;
++it2;
if (it == st.begin()){
auto it1 = st.rbegin();
if (st.size() > 2) Cnt -= d(it1->se , it2->se);
Cnt += d(it->se , it2->se);
Cnt += d(it->se , it1->se);
return;
}
if (it2 == st.end()){
it2 = st.begin();
auto it1 = it;
--it1;
if (st.size() > 2) Cnt -= d(it1->se , it2->se);
Cnt += d(it->se , it2->se);
Cnt += d(it->se , it1->se);
return;
}
auto it1 = it;
--it1;
Cnt -= d(it1->se , it2->se);
Cnt += d(it->se , it2->se);
Cnt += d(it->se , it1->se);
}
void Erase(int id , int in){
auto it = st.lower_bound({in , id});
if (st.size() == 1){
st.erase(it);
return;
}
auto it2 = it;
++it2;
if (it == st.begin()){
auto it1 = st.rbegin();
if (st.size() > 2) Cnt += d(it1->se , it2->se);
Cnt -= d(it->se , it2->se);
Cnt -= d(it->se , it1->se);
st.erase(it);
return;
}
if (it2 == st.end()){
it2 = st.begin();
auto it1 = it;
--it1;
if (st.size() > 2) Cnt += d(it1->se , it2->se);
Cnt -= d(it->se , it2->se);
Cnt -= d(it->se , it1->se);
st.erase(it);
return;
}
auto it1 = it;
--it1;
Cnt += d(it1->se , it2->se);
Cnt -= d(it->se , it2->se);
Cnt -= d(it->se , it1->se);
st.erase(it);
}
void solve(){
while (q--){
int u;
cin >> u;
if (!vit[u]){
vit[u] = 1;
Push(u , tin[u]);
}
else{
vit[u] = 0;
Erase(u , tin[u]);
}
cout << Cnt << '\n';
}
}
int main(){
// freopen("difmax.inp" , "r" , stdin);
// freopen("difmax.out" , "w" , stdout);
faster;
inp();
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZmFzdGVyIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKE5VTEwpCiNkZWZpbmUgQml0KG1hc2sgLCBpKSAoKG1hc2sgPj4gaSkgJiAxKQojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgX0xPRzIobmwpIDMxIC0gX19idWlsdGluX2NseihubCkKI2RlZmluZSBjX2JpdChubCkgX19idWlsdGluX3BvcGNvdW50KG5sKQojZGVmaW5lIGlpIHBhaXI8bG9uZyBsb25nICwgaW50PgojZGVmaW5lIGxsbCBwYWlyPGxvbmcgbG9uZyAsIHBhaXI8bG9uZyBsb25nICwgbG9uZyBsb25nPj4KI2RlZmluZSBsaWkgcGFpcjxsb25nIGxvbmcgLCBwYWlyPGxvbmcgbG9uZyAsIGludD4+CiNkZWZpbmUgaWlpIHBhaXI8aW50ICwgcGFpcjxpbnQgLCBpbnQ+PgojZGVmaW5lIGlpaWkgcGFpcjxwYWlyPGludCAsIGludD4gLCBwYWlyPGludCAsIGludD4+CiNkZWZpbmUgbGxsbCBwYWlyPHBhaXI8X19pbnQxMjggLCBfX2ludDEyOD4gLCBwYWlyPF9faW50MTI4ICwgX19pbnQxMjg+PgojZGVmaW5lIGxpIHBhaXI8bG9uZyBsb25nICwgaW50PgojZGVmaW5lIGRiIGxvbmcgZG91YmxlCiNkZWZpbmUgb25CaXQobWFzayAsIGkpIChtYXNrIHwgKDEgPDwgaSkpCiNkZWZpbmUgb2ZmQml0KG1hc2sgLCBpKSAobWFzayAmICh+KDEgPDwgaSkpKQoKY29uc3QgaW50IE4gPSAxZTUgKyA3OwppbnQgbiAsIGNudCA9IDAgLCBxOwp2ZWN0b3I8cGFpcjxpbnQgLCBpbnQ+PiBhW05dOwppbnQgdGluW05dICwgaFtOXSAsIHVwWzIxXVtOXTsKbG9uZyBsb25nIFZhbFtOXTsKYm9vbCB2aXRbTl07Cgp2b2lkIGRmcyhpbnQgdSAsIGludCBwKXsKICAgIHRpblt1XSA9ICsrY250OwogICAgZm9yIChhdXRvICZjIDogYVt1XSkgaWYgKGMuZmkgIT0gcCl7CiAgICAgICAgaW50IHYgPSBjLmZpOwogICAgICAgIGhbdl0gPSBoW3VdICsgMTsKICAgICAgICBWYWxbdl0gPSBWYWxbdV0gKyBjLnNlOwogICAgICAgIHVwWzBdW3ZdID0gdTsKCiAgICAgICAgZGZzKHYgLCB1KTsKICAgIH0KfQoKdm9pZCBpbnAoKXsKICAgIGNpbiA+PiBuID4+IHE7CiAgICBmb3IgKGludCBpID0gMSA7IGkgPCBuIDsgKytpKXsKICAgICAgICBpbnQgdSAsIHY7CiAgICAgICAgbG9uZyBsb25nIHc7CiAgICAgICAgY2luID4+IHUgPj4gdiA+PiB3OwogICAgICAgIGFbdV0ucHVzaF9iYWNrKHt2ICwgd30pOwogICAgICAgIGFbdl0ucHVzaF9iYWNrKHt1ICwgd30pOwogICAgfQoKICAgIGhbMV0gPSAxOwogICAgZGZzKDEgLCAwKTsKCiAgICBmb3IgKGludCBqID0gMSA7IGogPD0gMTcgOyArK2opewogICAgICAgIGZvciAoaW50IGkgPSAxIDsgaSA8PSBuIDsgKytpKXsKICAgICAgICAgICAgdXBbal1baV0gPSB1cFtqIC0gMV1bdXBbaiAtIDFdW2ldXTsKICAgICAgICB9CiAgICB9Cn0KCmludCBsY2EoaW50IHUgLCBpbnQgdil7CiAgICBpZiAoaFt1XSA8IGhbdl0pIHN3YXAodSAsIHYpOwoKICAgIGZvciAoaW50IGkgPSBfTE9HMihoW3VdKSA7IGkgPj0gMCA7IC0taSkgaWYoaFt1cFtpXVt1XV0gPj0gaFt2XSl7CiAgICAgICAgdSA9IHVwW2ldW3VdOwogICAgfQoKICAgIGlmICh1ID09IHYpIHJldHVybiB1OwoKICAgIGZvciAoaW50IGkgPSBfTE9HMihoW3VdKSA7IGkgPj0gMCA7IC0taSkgaWYgKHVwW2ldW3VdICE9IHVwW2ldW3ZdKXsKICAgICAgICB1ID0gdXBbaV1bdV07CiAgICAgICAgdiA9IHVwW2ldW3ZdOwogICAgfQoKICAgIHJldHVybiB1cFswXVt1XTsKfQoKbG9uZyBsb25nIGQoaW50IHUgLCBpbnQgdil7Ci8vICAgIGlmICh1ID09IDAgfHwgdiA9PSAwKSByZXR1cm4gMDsKLy8gICAgaWYgKHUgPT0gbiArIDEgfHwgdiA9PSBuICsgMSkgcmV0dXJuIDA7CiAgICBpbnQgcCA9IGxjYSh1ICwgdik7CgogICAgcmV0dXJuIFZhbFt1XSArIFZhbFt2XSAtICgxTEwgKiAyKSAqIFZhbFtwXTsKfQoKbG9uZyBsb25nIENudCA9IDA7CnNldDxwYWlyPGludCAsIGludD4+IHN0OwoKdm9pZCBQdXNoKGludCBpZCAsIGludCBpbil7CiAgICBzdC5pbnNlcnQoe2luICwgaWR9KTsKICAgIGlmIChzdC5zaXplKCkgPT0gMSkgcmV0dXJuOwogICAgYXV0byBpdCA9IHN0Lmxvd2VyX2JvdW5kKHtpbiAsIGlkfSk7CiAgICBhdXRvIGl0MiA9IGl0OwogICAgKytpdDI7CgogICAgaWYgKGl0ID09IHN0LmJlZ2luKCkpewogICAgICAgIGF1dG8gaXQxID0gc3QucmJlZ2luKCk7CgogICAgICAgIGlmIChzdC5zaXplKCkgPiAyKSBDbnQgLT0gZChpdDEtPnNlICwgaXQyLT5zZSk7CiAgICAgICAgQ250ICs9IGQoaXQtPnNlICwgaXQyLT5zZSk7CiAgICAgICAgQ250ICs9IGQoaXQtPnNlICwgaXQxLT5zZSk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0MiA9PSBzdC5lbmQoKSl7CiAgICAgICAgaXQyID0gc3QuYmVnaW4oKTsKICAgICAgICBhdXRvIGl0MSA9IGl0OwogICAgICAgIC0taXQxOwoKICAgICAgICBpZiAoc3Quc2l6ZSgpID4gMikgQ250IC09IGQoaXQxLT5zZSAsIGl0Mi0+c2UpOwogICAgICAgIENudCArPSBkKGl0LT5zZSAsIGl0Mi0+c2UpOwogICAgICAgIENudCArPSBkKGl0LT5zZSAsIGl0MS0+c2UpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBhdXRvIGl0MSA9IGl0OwogICAgLS1pdDE7CiAgICBDbnQgLT0gZChpdDEtPnNlICwgaXQyLT5zZSk7CiAgICBDbnQgKz0gZChpdC0+c2UgLCBpdDItPnNlKTsKICAgIENudCArPSBkKGl0LT5zZSAsIGl0MS0+c2UpOwp9Cgp2b2lkIEVyYXNlKGludCBpZCAsIGludCBpbil7CiAgICBhdXRvIGl0ID0gc3QubG93ZXJfYm91bmQoe2luICwgaWR9KTsKICAgIGlmIChzdC5zaXplKCkgPT0gMSl7CiAgICAgICAgc3QuZXJhc2UoaXQpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGF1dG8gaXQyID0gaXQ7CiAgICArK2l0MjsKCiAgICBpZiAoaXQgPT0gc3QuYmVnaW4oKSl7CiAgICAgICAgYXV0byBpdDEgPSBzdC5yYmVnaW4oKTsKCiAgICAgICAgaWYgKHN0LnNpemUoKSA+IDIpIENudCArPSBkKGl0MS0+c2UgLCBpdDItPnNlKTsKICAgICAgICBDbnQgLT0gZChpdC0+c2UgLCBpdDItPnNlKTsKICAgICAgICBDbnQgLT0gZChpdC0+c2UgLCBpdDEtPnNlKTsKICAgICAgICBzdC5lcmFzZShpdCk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGl0MiA9PSBzdC5lbmQoKSl7CiAgICAgICAgaXQyID0gc3QuYmVnaW4oKTsKICAgICAgICBhdXRvIGl0MSA9IGl0OwogICAgICAgIC0taXQxOwoKICAgICAgICBpZiAoc3Quc2l6ZSgpID4gMikgQ250ICs9IGQoaXQxLT5zZSAsIGl0Mi0+c2UpOwogICAgICAgIENudCAtPSBkKGl0LT5zZSAsIGl0Mi0+c2UpOwogICAgICAgIENudCAtPSBkKGl0LT5zZSAsIGl0MS0+c2UpOwogICAgICAgIHN0LmVyYXNlKGl0KTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgYXV0byBpdDEgPSBpdDsKICAgIC0taXQxOwogICAgQ250ICs9IGQoaXQxLT5zZSAsIGl0Mi0+c2UpOwogICAgQ250IC09IGQoaXQtPnNlICwgaXQyLT5zZSk7CiAgICBDbnQgLT0gZChpdC0+c2UgLCBpdDEtPnNlKTsKCiAgICBzdC5lcmFzZShpdCk7Cn0KCnZvaWQgc29sdmUoKXsKICAgIHdoaWxlIChxLS0pewogICAgICAgIGludCB1OwogICAgICAgIGNpbiA+PiB1OwogICAgICAgIGlmICghdml0W3VdKXsKICAgICAgICAgICAgdml0W3VdID0gMTsKICAgICAgICAgICAgUHVzaCh1ICwgdGluW3VdKTsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgdml0W3VdID0gMDsKICAgICAgICAgICAgRXJhc2UodSAsIHRpblt1XSk7CiAgICAgICAgfQoKICAgICAgICBjb3V0IDw8IENudCA8PCAnXG4nOwogICAgfQp9CgppbnQgbWFpbigpewovLyAgICBmcmVvcGVuKCJkaWZtYXguaW5wIiAsICJyIiAsIHN0ZGluKTsKLy8gICAgZnJlb3BlbigiZGlmbWF4Lm91dCIgLCAidyIgLCBzdGRvdXQpOwogICAgZmFzdGVyOwogICAgaW5wKCk7CiAgICBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0K