#include using namespace std; typedef long long ll; typedef pair pii; #define all(x) (x).begin(),(x).end() const int mod=1000000007,MAX=100001,MAX_LOG=20,INF=1<<30; vector> S[MAX]; int N,par[MAX_LOG][MAX],dis[MAX]; ll kyo[MAX]; void BFS(){ for(int i=0;i Q; Q.push(0); dis[0]=0; kyo[0]=0; while(!Q.empty()){ int a=Q.front(); Q.pop(); for(int i=0;idis[v]) swap(u,v); for(int i=0;i<20;i++){ if(((dis[v]-dis[u])>>i)&1) v=par[i][v]; } if(u==v)return u; for(int i=19;i>=0;i--){ if(par[i][u]!=par[i][v]){ u = par[i][u]; v = par[i][v]; } } return par[0][u]; } int main(){ cin>>N; for(int i=0;i>a>>b>>c; S[a].push_back({b,c}); S[b].push_back({a,c}); } BFS(); init(); int Q;cin>>Q; for(int i=0;i>a>>b>>c; ll ans=0; ans+=kyo[a]+kyo[b]-2*kyo[lca(a,b)]; ans+=kyo[b]+kyo[c]-2*kyo[lca(b,c)]; ans+=kyo[c]+kyo[a]-2*kyo[lca(c,a)]; cout<