Type: Default 1000ms 256MiB

以我残躯化烈火

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

Problem Description

Background

大卫为了救露西葬身荒坂。法尔科要完成大卫的嘱托,带露西逃离。

Description

法尔科可能会去到 nn 个地点,共有 mm 条路将其联通,每条路都是双向联通的。露西通过黑客技术得到了信息,荒坂公司为了抓捕他们,在这 mm 条路上设置了不同程度的拦截 wiw_i。法尔科的车是有耐久的,不可能随便冲关。具体来说,法尔科每经过一条路,其车的耐久就会减少该路对应的 wiw_i。法尔科车子的耐久上限为 CC。这样子可能很难冲出重围,所以法尔科提前联系好了 kk 个地点的维修商(11 到 kk),到达该地点后,车子的耐久度恢复至上限 CC。 现在请你帮帮法尔科,他有 qq 次询问,问从维修站 aa 到达维修站 bb 所需要的最小 CC。

Input Format

输入格式

第一行给定四个整数 n,m,k,qn,m,k,q。 接下来 mm 行,每行三个整数,u,v,wu,v,w 表示 uu 与 vv 之间有一条拦截程度为 ww 的路。 接下来 qq 行,每行两个整数 a,ba,b 表示询问的地点。保证 aa 不等于 bb,且 a,b⩽ka,b \leqslant k

Output Format

输出格式

输出 qq 行,每行一个整数 CC ,表示该次询问能够到达所需的最小 CC。

Sample

样例

9 11 3 2
1 3 99
1 4 5
4 5 3
5 6 3
6 4 11
6 7 21
7 2 6
7 8 4
8 9 3
9 2 57
9 3 2
3 1
2 3
38
15

Hint

数据范围

1⩽k⩽n⩽1051 \leqslant k \leqslant n \leqslant 10^5

1⩽m,q⩽2×1051 \leqslant m, q \leqslant 2\times 10^5

1⩽w⩽1091 \leqslant w \leqslant 10^9