$n=<>; for(<>){ ($u,$v,$w)=split; --$u; --$v; push@$u,$v<<8|$w; push@$v,$u<<8|$w; } sub f{ my($x,$y)=@_; #$vis[$x]=1; vec($vis,$x,1)=1; for(@$x){ my$z=$_>>8; my$w=$_&255; #if(!$vis[$z]){ if(!vec($vis,$z,1)){ my$y1=f($z); $a+=$w*$y1*($n-$y1)*2; $y+=$y1; } } $y+1; } #f(0); f($n-1); print $a;