4642: 树上的距离(distance)

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:4 解决:1

题目描述

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

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



输入

测试数据第一行为两个整数 N 和 M(1 < n≤10000, 0 < m≤20000)。 N表示点数,M表示询问次数。

下来 n-1行,每行三个整数 x y k,表示点x和点y之间存在一条边长度为k( 0 < k≤100)。

再接下来m行,每行两个整数 x y,表示询问点x到点y的最短距离。


输出

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

样例输入 复制

2 2
1 2 100
1 2
2 1

样例输出 复制

100
100

提示

【样例输入2

3 2

1 2 10

3 1 15

1 2

3 2 

【样例输出2

10

25