# include using namespace std; int par[1000005][30]; int sum[1000005][30]; vector > g[1000005]; int level[1000005]; int maxlevel=0; int k; int ans=0; int n; void dfs(int v) { int i,j; for(i=0;i0) { i = log2(dist); ans+=a1*sum[a][i]; a = par[a][i]; dist-=(1<=0;i--) {//cout<>n; int u,v,x; for(i=1;i>u>>v>>x; u++; v++; g[u].push_back({v,x}); g[v].push_back({u,x}); } level[1]=1; par[1][0]=-1; dfs(1); int q; int A,B,C; makelca(); cin>>q; //cout<>A>>B>>C; A++; B++; C++; w = findlca(A,B,1,1); // cout<