#L3356. Toll

Toll

题目描述

题目译自 BalticOI 2017 Day1「Toll」

作为一个合格的货运公司,在送达货物的同时也要让花的钱最少。
这座城市有 nn 个地点,这 nn 个地点之间有 mm 条边。
货运公司接到了 oo 个订单,他们要想方设法的让路途中花的钱最少。
对于每条路,都有三个信息:

  • aa, bb 代表从 aa 到达 bb,并且是单向的;
  • tt 代表这条路需要多少钱。

并且对于每个订单,都给出 aabb 代表要把物品从 aa 运到 bb,求每个订单需要花的最少的钱;如果无法送达就输出 1-1

特别的,对于从 aabb 的路,一定满足:

$$\left\lfloor \frac{b}{k} \right\rfloor = 1 + \left\lfloor \frac{a}{k} \right\rfloor $$

其中 kk 是一个给定的常数。


输入格式

第一行四个整数 k,n,m,ok, n, m, o 代表一个常数,地点的个数,边的个数,订单的个数。
点的编号为从 00n1n - 1
接下来 mm 行每行三个整数 a,b,ta, b, t 代表从 aa 连向 bb 要花费 tt,保证满足

$$\left\lfloor \frac{b}{k} \right\rfloor = 1 + \left\lfloor \frac{a}{k} \right\rfloor $$

并且两点之间连接的边数不超过 11 条边。
接下来 oo 行每行两个整数 a,ba, b 代表要从 aa 运货到 bb


输出格式

对于每个订单,输出一行一个整数表示答案。


样例

输入

5 14 5 5
0 5 9
5 12 10
0 7 7
7 12 8
4 7 10
0 12
0 5
0 7
7 12
0 13

输出

15
9
7
8
-1

数据范围与提示

对于 100%100\% 的数据,
1n500001 \le n \le 50000
1o100001 \le o \le 10000
1k51 \le k \le 5
0a<b<n0 \le a < b < n
1t100001 \le t \le 10000

详细子任务与附加限制如下:

  • Subtask 177 分):k=1k=1
  • Subtask 21010 分):每个订单中的 a=0a=0
  • Subtask 388 分):o100o \le 100
  • Subtask 43131 分):o3000o \le 3000
  • Subtask 54444 分):无特殊限制。