#U1718JS3. MooTube

MooTube

在业余时间,Farmer John 创建了一个新的视频共享服务,他将其命名为 MooTube。在 MooTube 上,Farmer John 的奶牛可以录制、分享和发现许多有趣的视频。他的奶牛已经发布了 N 个视频(1≤N≤5000),方便编号为 1…N。然而,FJ 不太清楚如何帮助他的奶牛找到他们可能喜欢的新视频。FJ 想要为每个 MooTube 视频创建一个“推荐视频”列表。这样,奶牛将被推荐与他们已经观看的视频最相关的视频。

FJ 设计了一个“相关性”指标,顾名思义,它决定了两个视频之间的相关性。他挑选了 N-1 对视频并手动计算它们的成对相关性。然后,FJ 将他的视频可视化为一个网络,其中每个视频都是一个节点,并且他手动考虑的 N-1 对视频是连接的。方便的是,FJ 选择了他的 N-1 对,这样任何视频都可以从任何其他视频沿连接路径以完全相同的方式到达。FJ 决定将任何一对视频的相关性定义为该路径上任何连接的最小相关性。

Farmer John 想要选择一个值 K,以便在任何给定的 MooTube 视频旁边,将建议与该视频至少具有 K 相关性的所有其他视频。但是,FJ 担心会向他的奶牛推荐太多视频,这会分散他们产奶的注意力!因此,他想仔细设置一个适当的 K 值。Farmer John 希望您能帮助回答有关针对某些 K 值的建议视频的一些问题。

输入格式(文件 mootube.in):

第一行输入包含 N 和 Q (1≤Q≤5000)。接下来的 N−1 行每行描述 FJ 手动比较的一对视频。每行包含三个整数 pi_i, qi_i, 和 ri_i (1≤pi_i,qi_i≤N,1≤ri_i≤1,000,000,000),表示视频 pi_i 和 qi_i ​​​之间相关性是ri_i​​​.

接下来的 Q 行描述了 Farmer John 的 Q 问题。每行包含两个整数,ki_i and vi_i (1≤ki_i≤1,000,000,000,1≤vi_i≤N),表示FJ的第i个问题,问有多少视频会被推荐给视频K=ki_i的观看者​​​.

输出格式(文件 mootube.out):

输出 Q 线。在第 i 行,输出 FJ 的第 i 个问题的答案。

SAMPLE INPUT:

4 3
1 2 3
2 3 2
2 4 4
1 2
4 1
3 1

SAMPLE OUTPUT:

3
0
2

Farmer John 发现视频 1 和 2 具有相关性 3,视频 2 和 3 具有相关性 2,视频 2 和 4 具有相关性 4。基于此,视频 1 和 3 的相关度 min(3, 2) = 2,视频 1 和 4 的相关度 min(3, 4) = 3,视频 3 和 4 的相关度 min(2, 4) = 2。

Farmer John 想知道如果 K=1,视频 2 会推荐多少视频,如果 K=3,视频 1 会推荐多少视频,如果 K=4,视频 1 会推荐多少视频。我们看到,当 K=1 时,视频 1、3 和 4 将被建议在视频 2 上。K=4 时,不会从视频一中推荐视频。然而,当 K=3 时,将从视频 1 中建议视频 2 和 4。