#2415. 找工作

找工作

题目描述

奶牛们没钱了,正在找工作。农夫约翰知道后,希望奶牛们四处转转,碰碰运气。而且他还加了一条要求:一头牛在一个城市最多只能赚D(1<=D<=1,000)\red{D(1 <= D <= 1,000)}美元,然后它必须到另一座城市工作。

当然,它可以在别处工作一阵后又回来原来的城市再最多赚D\red{D}美元。而且这样往往返返的次数没有限制。

城市间有P(1<=P<=150)\red{P (1 <= P <= 150)}条单向路径连接,共有C(2<=C<=220)\red{C(2 <= C <= 220)}座城市,编号1..C.\red{1..C. }贝希当前处在城市S(1<=S<=C)\red{S (1 <= S <= C)}。路径 i\red{i }从城市Ai\red{A_i }到城市Bi(1<=Ai<=C\red{B_i (1 <= A_i <= C}; 1<=Bi<=C)\red{1 <= B_i <= C),}在路径上行走不用花任何费用。

为了帮助贝希,约翰让它使用他的私人飞机服务。这项服务有F\red{F}(1<=F<=350)\red{(1 <= F <= 350)}航线,每条航线是从城市Ji\red{J_i}飞到另一座城市Ki(1<=Ji<=C\red{K_i (1 <=J_i <= C}; 1<=Ki<=C)\red{1 <= K_i <= C),}费 用是Ti(1<=Ti<=50,000)\red{T_i (1 <= T_i <= 50,000)}美元。

如果贝希手中如果没有现钱,可以用以后赚的钱来付机票钱。贝希可以选择任何时候,在任何城市退休。如果在工作时间上不作限制,贝希总共可以赚多少钱呢? 如果赚的钱也不会出现限制,就输出1\red{-1}

输入格式

1\red{1}行: 5\red{5}个空格分开的整数 D,P,C,F,S\red{D, P, C, F, S}

2..P+1\red{2..P+1}行: 第 i+1\red{i+1}行包含2\red{2}个空格分开的整数,表示一条从Ai\red{A_i }Bi\red{B_i}的单向路径

P+2..P+F+1\red{P+2..P+F+1}行: 第P+i\red{P+i }包含3\red{3}个空格分开的整数,表示一条从Ji\red{J_i}Ki\red{K_i}的单向航线,费用为Ti\red{T_i}

输出格式

1\red{1}行: 在上述规则下的最多可赚的钱数。

样例

输入样例

100 3 5 2 1
1 5
2 3
1 4
5 2 150
2 5 120

输出样例

250

提示

样例说明:贝希可以从城市 1\red{1 }5\red{5 }再到 2\red{2 ,}最后到 3,\red{3, }总共赚 4×100150=250\red{4\times 100 - 150 = 250 }美元。