牛牛有一张 n 个点,m 条边的无向图,每条边有一个边权
我们定义一条路径的权值是这个路径包含的边的权值的最大值。
定义 d(u,v) 表示在无向图中点 u 能到达点 v 的所有路径中权值最小的路径的权值
现在牛牛给你 q 次询问,每次询问给出一个 L ,询问
%20%5Cleq%20L%5D)
。其中 [C] 表示当命题 C 为真的时候为 1 否则为 0。比如

。
为了防止输入过大,选手需要在自己的程序内生成要输入的所有数据,可以参考如下代码:
unsigned int SA, SB, SC; int n, m, q, LIM;
unsigned int rng61(){
SA ^= SA << 16;
SA ^= SA >> 5;
SA ^= SA << 1;
unsigned int t = SA;
SA = SB;
SB = SC;
SC ^= t ^ SA;
return SC;
}
void gen(){
scanf("%d%d%d%u%u%u%d", &n, &m, &q, &SA, &SB, &SC, &LIM);
for(int i = 1; i <= m; i++){
u[i] = rng61() % n + 1;
v[i] = rng61() % n + 1;
w[i] = rng61() % LIM;
}
for(int i = 1; i <= q; i++){
L[i] = rng61() % LIM;
}
}
生成的

表示第

条边的属性,

表示第

次询问输入的数。