#1165. 【基础】树上的距离(distance)

【基础】树上的距离(distance)

说明

给出nn个点的一棵树,多次询问两个结点之间的最短距离。(边是双向的,也就是读入的结点没有父子之分)

两个结点之间的距离的定义是,两个结点之间的唯一接单路径边长的和。

输入格式

测试数据第一行为两个整数 nnm1<n10000,0<m20000m(1 < n≤10000, 0 < m≤20000)NN表示点数,MM表示询问次数。

下来 nn-1行,每行三个整数 xx yy kk,表示点xx和点yy之间存在一条边长度为k0<k100k( 0 < k≤100)

再接下来mm行,每行两个整数 xx yy,表示询问点xx到点yy的最短距离。

输出格式

输出mm行。对于每次询问,输出一行。

样例

2 2
1 2 100
1 2
2 1
100
100
3 2
1 2 10
3 1 15
1 2
3 2
10
25