#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <map>
using namespace std;

const int MAXN = 100005;

int N, T, K, ai, bi, ci;
vector < pair <int, int> > g[MAXN];
vector <int> ki[MAXN], C[MAXN];

long long D[MAXN], res[MAXN];
map <int, int> M[MAXN];
int ID[MAXN];

void dfs(int i, int p){
    for(int j = 0; j < g[i].size(); j++){
        int u = g[i][j].first;
        if(u != p){
            D[u] = D[i] + g[i][j].second;
            dfs(u, i);
        }
    }
    //cout << i << ',' << p << ' ' << D[i] << endl;
}
void solve(int i, int p){
    for(int j = 0; j < C[i].size(); j++){
        res[C[i][j]] -= 2 * D[i] * M[ID[i]][C[i][j]];
        M[ID[i]][C[i][j]]++;
    }
    
    for(int j = 0; j < g[i].size(); j++){
        int u = g[i][j].first;
        if(u != p){
            solve(u, i);
            
            if(M[ID[u]].size() > M[ID[i]].size())swap(ID[u], ID[i]);
            
            for(map <int, int> :: iterator it = M[ID[u]].begin(); it != M[ID[u]].end(); it++){
                res[it->first] -= 2 * D[i] * M[ID[i]][it->first] * (it->second);
                M[ID[i]][it->first] += it->second;
            }
        }
    }
    /*
    cout << (i + 1) << ' ' << ':';
    for(map <int, int> :: iterator it = M[ID[i]].begin(); it != M[ID[i]].end(); it++){
        cout << (it->first) << ',' << (it->second) << ' ';
    }
    cout << endl;
    */
}
int main() {
    scanf("%d %d", &N, &T);
    for(int i = 0; i < (N - 1); i++){
        scanf("%d %d %d", &ai, &bi, &ci);
        ai--, bi--;
        
        g[ai].push_back(make_pair(bi, ci));
        g[bi].push_back(make_pair(ai, ci));
    }
    
    dfs(0, -1);
    
    for(int i = 0; i < T; i++){
        scanf("%d", &K);
        for(int j = 0; j < K; j++){
            scanf("%d", &ai);
            ai--;
            
            ki[i].push_back(ai);
            C[ai].push_back(i);
            
            res[i] += D[ai] * (K - 1);
        }
    }
    
    for(int i = 0; i < N; i++)
        ID[i] = i;
    solve(0, -1);   
    
    for(int i = 0; i < T; i++)
        printf("%lld\n", res[i]);
    
    return 0;
}