可度量之心
题号:NC263889
时间限制:C/C++/Rust/Pascal 5秒,其他语言10秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

八,十二,菱形,水滴,闪闪发亮。
有等级的,有标准的,被赋予证书的,失格而被摒弃的。
可我啊,可我也曾是一杯砂砾。
不可度量,无人问津。
给出一棵大小为 n 的树,边有边权。

m 组询问,每组询问给出二元组 (x,y),求 \min\limits_{1 \le k \le n}|dis(x,k)-dis(y,k)|

其中,dis(x,y) 表示路径 \{x\rightarrow y\} 上的边权和,注意边权可以为负数。

输入描述:

第一行两个数 n,m

接下来 (n-1) 行,每行三个数 (u,v,w),表示存在一条从 uv 的边,长度为 w

接下来 m 行,每行一个二元组 (x,y),表示一组询问。

输出描述:

输出为 m 个数,即每次询问的答案。
示例1

输入

复制
5 5
1 2 3
1 3 1
2 4 2
2 5 4
1 2
2 3
5 3
1 4
5 4

输出

复制
3
2
0
1
2

备注:

对于所有数据,1\le n,m \le 2\times 10^5,0\le |w| \le 10^9