#include <bits/stdc++.h>
#define ll long long
#define db long double
#define pll pair<ll,ll>
#define foru(i,a,b) for(int i=(a);i<=(ll)(b);i++)
#define ford(i,a,b) for(int i=(a);i>=(ll)(b);i--)
#define ALL(a) (a).begin(),(a).end()
#define ROUND(i) fixed<<setprecision(i)
#define fi first
#define se second
using namespace std;
const ll MAXN=3e5+55;
const ll LOG=18;
const ll INF=1e18;
ll n,Q;
vector<pll>adj[MAXN];
ll dep[MAXN],st[MAXN],fn[MAXN],tdfs=0;
ll up[MAXN][LOG+5],mnw[MAXN][LOG+5];
void dfsprep(ll u,ll p){
st[u]=++tdfs;
for(auto [v,w]:adj[u])if(v!=p){
dep[v]=dep[u]+1;
up[v][0]=u;
mnw[v][0]=w;
foru(i,1,LOG){
up[v][i]=up[up[v][i-1]][i-1];
mnw[v][i]=min(mnw[v][i-1],mnw[up[v][i-1]][i-1]);
}
dfsprep(v,u);
}
fn[u]=tdfs;
}
pll lift(ll u,ll k){
ll w=1e18;
ford(i,LOG,0)if(k>>i&1)w=min(w,mnw[u][i]),u=up[u][i];
return {u,w};
}
ll LCA(ll u,ll v){
if(dep[u]>dep[v])swap(u,v);
v=lift(v,dep[v]-dep[u]).fi;
if(u==v)return u;
ford(i,LOG,0)if(up[u][i]!=up[v][i])u=up[u][i],v=up[v][i];
return up[u][0];
}
bool inside(ll p,ll u){
return st[p]<=st[u]&&fn[u]<=fn[p];
}
vector<ll>ke[MAXN],ver;
ll dp[MAXN],k;
void makeTree(){
sort(ALL(ver),[&](ll &u,ll &v){return st[u]<st[v];});
ll hehe=ver.size()-1;
foru(i,1,hehe){
ver.push_back(LCA(ver[i-1],ver[i]));
}
sort(ALL(ver),[&](ll &u,ll &v){return st[u]<st[v];});
ver.erase(unique(ALL(ver)),ver.end());
stack<ll>st;st.push(ver[0]);
hehe=ver.size()-1;
foru(i,1,hehe){
while(st.size()&&!inside(st.top(),ver[i]))st.pop();
ke[st.top()].push_back(ver[i]);
st.push(ver[i]);
}
}
void DFS(ll u,ll p){
ll sum=0;
for(auto v:ke[u]){
DFS(v,u);
sum+=dp[v];
}
if(dp[u]<1e17){
dp[u]=min(dp[u],lift(u,dep[u]-dep[p]).se);
}
else{
dp[u]=min(sum,lift(u,dep[u]-dep[p]).se);
}
}
void solveQuery(){
cin>>k;ver={};
foru(i,1,k){
ll u;cin>>u;
ver.push_back(u);
dp[u]=mnw[u][0];
}
makeTree();
DFS(ver[0],1);
cout<<dp[ver[0]]<<'\n';
for(auto u:ver)ke[u]={},dp[u]=1e18;
}
signed main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>n;
foru(i,1,n-1){
ll u,v,w;cin>>u>>v>>w;
adj[u].push_back({v,w});
adj[v].push_back({u,w});
}
memset(mnw,0x3f,sizeof(mnw));
memset(dp,0x3f,sizeof(dp));
dfsprep(1,0);
cin>>Q;
while(Q--){
solveQuery();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZGIgbG9uZyBkb3VibGUKI2RlZmluZSBwbGwgcGFpcjxsbCxsbD4KI2RlZmluZSBmb3J1KGksYSxiKSBmb3IoaW50IGk9KGEpO2k8PShsbCkoYik7aSsrKQojZGVmaW5lIGZvcmQoaSxhLGIpIGZvcihpbnQgaT0oYSk7aT49KGxsKShiKTtpLS0pCiNkZWZpbmUgQUxMKGEpIChhKS5iZWdpbigpLChhKS5lbmQoKQojZGVmaW5lIFJPVU5EKGkpIGZpeGVkPDxzZXRwcmVjaXNpb24oaSkKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBsbCBNQVhOPTNlNSs1NTsKY29uc3QgbGwgTE9HPTE4Owpjb25zdCBsbCBJTkY9MWUxODsKbGwgbixROwp2ZWN0b3I8cGxsPmFkaltNQVhOXTsKbGwgZGVwW01BWE5dLHN0W01BWE5dLGZuW01BWE5dLHRkZnM9MDsKbGwgdXBbTUFYTl1bTE9HKzVdLG1ud1tNQVhOXVtMT0crNV07CnZvaWQgZGZzcHJlcChsbCB1LGxsIHApewogICAgc3RbdV09Kyt0ZGZzOwogICAgZm9yKGF1dG8gW3Ysd106YWRqW3VdKWlmKHYhPXApewogICAgICAgIGRlcFt2XT1kZXBbdV0rMTsKICAgICAgICB1cFt2XVswXT11OwogICAgICAgIG1ud1t2XVswXT13OwogICAgICAgIGZvcnUoaSwxLExPRyl7CiAgICAgICAgICAgIHVwW3ZdW2ldPXVwW3VwW3ZdW2ktMV1dW2ktMV07CiAgICAgICAgICAgIG1ud1t2XVtpXT1taW4obW53W3ZdW2ktMV0sbW53W3VwW3ZdW2ktMV1dW2ktMV0pOwogICAgICAgIH0KICAgICAgICBkZnNwcmVwKHYsdSk7CiAgICB9CiAgICBmblt1XT10ZGZzOwp9CnBsbCBsaWZ0KGxsIHUsbGwgayl7CiAgICBsbCB3PTFlMTg7CiAgICBmb3JkKGksTE9HLDApaWYoaz4+aSYxKXc9bWluKHcsbW53W3VdW2ldKSx1PXVwW3VdW2ldOwogICAgcmV0dXJuIHt1LHd9Owp9CmxsIExDQShsbCB1LGxsIHYpewogICAgaWYoZGVwW3VdPmRlcFt2XSlzd2FwKHUsdik7CiAgICB2PWxpZnQodixkZXBbdl0tZGVwW3VdKS5maTsKICAgIGlmKHU9PXYpcmV0dXJuIHU7CiAgICBmb3JkKGksTE9HLDApaWYodXBbdV1baV0hPXVwW3ZdW2ldKXU9dXBbdV1baV0sdj11cFt2XVtpXTsKICAgIHJldHVybiB1cFt1XVswXTsKfQpib29sIGluc2lkZShsbCBwLGxsIHUpewogICAgcmV0dXJuIHN0W3BdPD1zdFt1XSYmZm5bdV08PWZuW3BdOwp9CnZlY3RvcjxsbD5rZVtNQVhOXSx2ZXI7CmxsIGRwW01BWE5dLGs7CnZvaWQgbWFrZVRyZWUoKXsKICAgIHNvcnQoQUxMKHZlciksWyZdKGxsICZ1LGxsICZ2KXtyZXR1cm4gc3RbdV08c3Rbdl07fSk7CiAgICBsbCBoZWhlPXZlci5zaXplKCktMTsKICAgIGZvcnUoaSwxLGhlaGUpewogICAgICAgIHZlci5wdXNoX2JhY2soTENBKHZlcltpLTFdLHZlcltpXSkpOwogICAgfQogICAgc29ydChBTEwodmVyKSxbJl0obGwgJnUsbGwgJnYpe3JldHVybiBzdFt1XTxzdFt2XTt9KTsKICAgIHZlci5lcmFzZSh1bmlxdWUoQUxMKHZlcikpLHZlci5lbmQoKSk7CiAgICBzdGFjazxsbD5zdDtzdC5wdXNoKHZlclswXSk7CiAgICBoZWhlPXZlci5zaXplKCktMTsKICAgIGZvcnUoaSwxLGhlaGUpewogICAgICAgIHdoaWxlKHN0LnNpemUoKSYmIWluc2lkZShzdC50b3AoKSx2ZXJbaV0pKXN0LnBvcCgpOwogICAgICAgIGtlW3N0LnRvcCgpXS5wdXNoX2JhY2sodmVyW2ldKTsKICAgICAgICBzdC5wdXNoKHZlcltpXSk7CiAgICB9Cn0Kdm9pZCBERlMobGwgdSxsbCBwKXsKICAgIGxsIHN1bT0wOwogICAgZm9yKGF1dG8gdjprZVt1XSl7CiAgICAgICAgREZTKHYsdSk7CiAgICAgICAgc3VtKz1kcFt2XTsKICAgIH0KICAgIGlmKGRwW3VdPDFlMTcpewogICAgICAgIGRwW3VdPW1pbihkcFt1XSxsaWZ0KHUsZGVwW3VdLWRlcFtwXSkuc2UpOwogICAgfQogICAgZWxzZXsKICAgICAgICBkcFt1XT1taW4oc3VtLGxpZnQodSxkZXBbdV0tZGVwW3BdKS5zZSk7CiAgICB9Cn0Kdm9pZCBzb2x2ZVF1ZXJ5KCl7CiAgICBjaW4+Pms7dmVyPXt9OwogICAgZm9ydShpLDEsayl7CiAgICAgICAgbGwgdTtjaW4+PnU7CiAgICAgICAgdmVyLnB1c2hfYmFjayh1KTsKICAgICAgICBkcFt1XT1tbndbdV1bMF07CiAgICB9CiAgICBtYWtlVHJlZSgpOwogICAgREZTKHZlclswXSwxKTsKICAgIGNvdXQ8PGRwW3ZlclswXV08PCdcbic7CiAgICBmb3IoYXV0byB1OnZlcilrZVt1XT17fSxkcFt1XT0xZTE4Owp9CnNpZ25lZCBtYWluKCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApO2Npbi50aWUoMCk7Y291dC50aWUoMCk7CiAgCiAgICBjaW4+Pm47CiAgICBmb3J1KGksMSxuLTEpewogICAgICAgIGxsIHUsdix3O2Npbj4+dT4+dj4+dzsKICAgICAgICBhZGpbdV0ucHVzaF9iYWNrKHt2LHd9KTsKICAgICAgICBhZGpbdl0ucHVzaF9iYWNrKHt1LHd9KTsKICAgIH0KCiAgICBtZW1zZXQobW53LDB4M2Ysc2l6ZW9mKG1udykpOwogICAgbWVtc2V0KGRwLDB4M2Ysc2l6ZW9mKGRwKSk7CiAgICBkZnNwcmVwKDEsMCk7CgogICAgY2luPj5ROwogICAgd2hpbGUoUS0tKXsKICAgICAgICBzb2x2ZVF1ZXJ5KCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==