#P5505. Vacation Planning

Vacation Planning

题目描述

N(1<=N<=200){N(1 <= N <= 200)}个农场,用1..N{1..N}编号。航空公司计划在农场间建立航线。对于任意一条航线,选择农场1..K{1..K}中的农场作为枢纽(1<=K<=100,K<=N){(1 <= K <= 100, K <= N)}

当前共有M(1<=M<=10,000){M (1 <= M <= 10,000)}条单向航线连接这些农场,从农场ui{u_i }到农场 vi,{v_i, }将花费 di{d_i}美元。(1<=di<=1,000,000).{(1 <= d_i <= 1,000,000).}

航空公司最近收到Q(1<=Q<=10,000){Q (1 <= Q <= 10,000)}个单向航行请求。第i{i}个航行请求是从农场ai{a_i}到农场 bi{b_i,}航行必须经过至少一个枢纽农场(可以是起点或者终点农场),因此可能会多次经过某些农场。

请计算可行航行请求的数量,及完成所有可行请求的总费用。

输入格式

第一行:四个整数:N{N}M{M}K{K}Q{Q}

2..1+M:{2 . .1+M:}i+1{i+1}包含ui{u_i}vi{v_i}di{d_i,}表示第i{i}次飞行。

2+M{2 + M}行. .1+M+Q{1+M+Q,}1+M+i{1+M+i}ai{a_i}bi{b_i}描述第i{i}

输出格式

1{1}行:可以使用有效路由的旅行({(}Q{Q}){)}的次数。

2{2}行:可能使用有效路线的所有行程的最猩能路线费用的总和。

样例

输入样例

3 3 1 3 
3 1 10 
1 3 10 
1 2 7 
3 2 
2 3 
1 2

输出样例

2
24