编程题
灾后重建
### 题目描述
Pear 市一共有 $N(N \leq 50000$)个居民点,居民点之间有 $M(M \leq 200000)$条双向道路相连。这些居民点两两之间都可以通过双向道路到达。这种情况一直持续到最近,一次严重的地震毁坏了全部 $M$ 条道路。
震后,Pear 打算修复其中一些道路,修理第 $i$ 条道路需要 $P_i$ 的时间。不过,Pear 并不打算让全部的点连通,而是选择一些标号特殊的点让他们连通。
Pear 有 $Q(Q \leq 50000)$ 次询问,每次询问,他会选择所有编号在 &[l,r]$ 之间,并且 编号$\mod K = C$ 的点,修理一些路使得它们连通。由于所有道路的修理可以同时开工,所以完成修理的时间取决于花费时间最长的一条路,即涉及到的道路中 $P_i\$ 的最大值。
你能帮助 Pear 计算出每次询问时需要花费的最少时间么?这里询问是独立的,也就是上一个询问里的修理计划并没有付诸行动。
### 输入描述
第一行三个正整数 $N、M、Q$,含义如题面所述。
接下来 $M$ 行,每行三个正整数 $X_i、Y_i、P_i$,表示一条连接 $X_i$ 和 $Y_i$ 的双向道路,修复需要 $P_i$ 的时间。可能有自环,可能有重边。
接下来 $Q$ 行,每行四个正整数 $L_i、R_i、K_i、C_i$,表示这次询问的点是 $[L_i,R_i]$ 区间中所有编号 $\mod K_i=C_i$ 的点。保证参与询问的点至少有两个。
其中,$N \leq 50000,M \leq 2\times 10^5,Q \leq 50000, Pi \leq 10^6$。$L_i、R_i、K_i、C_i$均在 $[1,N]$ 范围内,$C_i$ 在[0,对应询问的 $K_i$ )范围内。
例如:
输入:
### 输出描述
输出 $Q$ 行,每行一个正整数表示对应询问的答案。
### 输入输出样例
#### 示例
> 输入
```txt
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
```
> 输出
```txt
9
6
8
8
```