#458. Dis

Dis

题目描述

给出n\red{n}个点的一棵树,多次询问两点之间的最短距离。

注意:边是双向的。

输入格式

第一行为两个整数n\red{n}m\red{m}n\red{n}表示点数,m\red{m}表示询问次数;

下来n1\red{n−1}行,每行三个整数 x,y,k\red{x,y,k},表示点x\red{x}和点y\red{y}之间存在一条边长度为k\red{k}

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

输出格式

输出m\red{m}行。对于每次询问,输出一行。

样例

输入数据1

2 2
1 2 100
1 2
2 1

输出数据 1

100
100

输入数据 2

3 2
1 2 10
3 1 15
1 2
3 2

输出数据 2

10
25

提示

对于全部数据,

2n104\red{2≤n≤10^4},

1m2×104\red{1≤m≤2×10^4},

0<k100\red{0<k≤100},

1x,yn\red{1≤x,y≤n}