世界线
时间限制:C/C++/Rust/Pascal 6秒,其他语言12秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

在无数次的改变世界线之后,牛牛终于完成了对世界线变动模型的构建

牛牛的理论认为,所有的世界线可以抽象为n 个点,而在其中转换的契机就是电话烤箱的释放的电量。
具体来说,所有的世界线由 m 条能量线连接而成的不存在环的无向图,由于世界线的不稳定性,能量线随机连接世界线。
经过每一条能量线都需要消耗能量,定义从一个点u到另一个点v之间的至少经过一条能量线的简单路径所消耗总能量为 u 到 v 的世界变动量。
为了更方便的改变世界的支配构造,牛牛想要知道从一个点  x出发到其他点中第 k 大的世界变动量大小。
由于牛牛不屑于计算这些东西,他把这个任务交给了在屏幕外面吃瓜的你

输入描述:

第一行为三个数n,m,q 分别表示世界线、能量线以及牛牛询问的数量
之后的2 ~ m+1 行,每行三个整数 u,v,w,表示 u 到 v 之间转换需要的能量
接下来的 q 行,每行两个整数 x,k ,意义见题目描述
其中1<=m<n<=100,000;q<=100,000;w>=1;1<=x<=n
所有数据在int范围内

输出描述:

共 q 行,每行一个整数,表示第 k 大的世界变动量大小,如果不存在输出 -1
示例1

输入

复制
9 8 3
1 2 5
2 3 1
2 4 1
2 5 1
1 6 2
1 7 3
7 8 6
7 9 9
1 1
5 4
9 9

输出

复制
12
8
-1

说明

备注:

【对于随机生成的一棵树,我们认为其高度期望为logN】