#LQ0603. 灾后重建

灾后重建

题目描述

Pear 市一共有 N(N≤50000个居民点,居民点之间有 M(M≤200000)条双向道路相连。这些居民点两两之间都可以通过双向道路到达。这种情况一直持续到最近,一次严重的地震毁坏了全部 M 条道路。

震后,Pear 打算修复其中一些道路,修理第 i 条道路需要 Pi 的时间。不过,Pear 并不打算让全部的点连通,而是选择一些标号特殊的点让他们连通。

Pear 有 Q(Q≤50000) 次询问,每次询问,他会选择所有编号在 [l,r]之间,并且编号mod K = C的点,修理一些路使得它们连通。由于所有道路的修理可以同时开工,所以完成修理的时间取决于花费时间最长的一条路,即涉及到的道路中Pi 的最大值。

你能帮助 Pear 计算出每次询问时需要花费的最少时间么?这里询问是独立的,也就是上一个询问里的修理计划并没有付诸行动。

输入描述

第一行三个正整数 N、M、Q,含义如题面所述。

接下来 M 行,每行三个正整数 Xi、Yi、Pi,表示一条连接 Xi 和 Yi 的双向道路,修复需要 Pi 的时间。可能有自环,可能有重边。

接下来 Q 行,每行四个正整数 Li、Ri、Ki、Ci,表示这次询问的点是 [Li,Ri] 区间中所有编号 mod  Ki=Ci 的点。保证参与询问的点至少有两个。

其中,N≤50000,M≤2×105,Q≤50000,Pi≤106。Li、Ri、Ki、Ci均在 [1,N] 范围内,Ci 在[0,对应询问的 Ki )范围内。

例如:

输入:

输出描述

输出 Q 行,每行一个正整数表示对应询问的答案。

输入输出样例

示例

输入

7 10 4
1 3 10
2 6 9
4 1 5
3 7 4
3 6 9
1 5 8
2 7 4
3 2 10
1 7 6
7 6 9
1 7 1 0
1 7 3 1
2 5 1 0
3 7 2 1

输出

9
6
8
8