ll@n; int u[n],v[],w[]; rd((u,v,w)(n-1)); wgraphg; g.setEdge(n,n-1,u,v,w); ll d[n]; g.getDistForest(0,d); HLD h; h.init(g.g); ll@q; rep(q){ ll@x,@y,@z; wt(d[x]+d[y]+d[z]-d[h.lca(x,y)]-d[h.lca(x,z)]-d[h.lca(y,z)]); }