from collections import deque def aa(a,b): c,d=dep[a],dep[b] if d>c: a,b=b,a;c,d=d,c c-=d;d=0 while c: if c&1: a=doub[d][a] c>>=1;d+=1 if a==b: return dist[a] for i in range(19,-1,-1): if doub[i][a]!=doub[i][b]: a,b=doub[i][a],doub[i][b] return dist[doub[0][a]] n=int(input()) v=[[] for i in range(n)] for i in range(n-1): a,b,c=map(int,input().split()) v[a].append((b,c));v[b].append((a,c)) dist=[-1]*n;dist[0]=0 dep=[0]*n;doub=[[0]*n for i in range(20)] f=deque([0]) while f: q=f.pop() for i,j in v[q]: if dist[i]<0: dist[i]=dist[q]+j dep[i]=dep[q]+1 doub[0][i]=q f.append(i) for i in range(1,20): for j in range(n): doub[i][j]=doub[i-1][doub[i-1][j]] for i in range(int(input())): a,b,c=map(int,input().split()) print(dist[a]+dist[b]+dist[c]-aa(a,b)-aa(b,c)-aa(a,c))