dis

Description

给出n个点的一棵树,多次询问两结点之间的最短距离。(边是双向的)

Format

Input

测试数据第一行为两个整数 N 和 M (1<n<=10 000,0<m<=20 000)。N表示点数,M表示询问次数。
接下来n-1行,每行三个整数 x,y,k,表示点x到点y之间存在一条边长度为k(0<k<=100)。
再接下来m行,每行两个整数x,y,表示询问点x到点y的最短距离。

Output

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

Sample 1

Input

2 2
1 2 100
1 2
2 1

Output

100
100

Sample 2

Input

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

Output

10
25

Limitation

1s, 128MiB for each test case.

Source