一只小蜜蜂在一片花园里采蜜。花园里一共有 N 朵花(编号为 1 \sim N),为了保护花朵,蜜蜂王国规定,每次在同一朵花上,最多只能采 L 个单位的蜂蜜,采摘完毕后必须离开当前花朵飞到其他花朵上。当然,它也可以在其他花朵采蜜之后飞回来,再次采摘 L 个单位的蜂蜜,往返次数没有任何限制。
为了小蜜蜂的飞行安全,花园里的空中飞行有着严格的交通管制,花园里一共有 M_1 条单向的飞行路线,第 i 条飞行路线可以让小蜜蜂从编号为 X_i 的花朵飞行到编号为 Y_i 的花朵,从该路线飞行,小蜜蜂不需要支付任何费用。
为了增加采摘的乐趣,蜜蜂王国的科学家增加了 M_2 条单向的传送虫洞,第 j 条虫洞可以将小蜜蜂从编号为 X_j 的花朵传送到编号为 Y_j 的花朵,传送虫洞可以让小蜜蜂更加轻松的在花朵之间来回采蜜,只是经过第 j 条虫洞,需要支付 T_j 个单位的蜂蜜,作为虫洞使用的费用。
小蜜蜂一开始在编号为 S 的花朵上,它会先采摘掉该花朵的 L 个单位的蜂蜜,再选择飞行路线或者虫洞去往其他花朵,它也可以选择在任意一个花朵停止采摘。
请问小蜜蜂在花园里最多能得到多少个单位的蜂蜜?如果小蜜蜂理论上有可能采摘到无数个单位的蜂蜜,请输出 -1。
第 1 行读入 L,M_1,N,M_2,S,数字之间用空格隔开。
接下来 M_1 行,读入 M_1 条单向的飞行路线,每行两个整数 X_i,Y_i。
接下来 M_2 行,读入 M_2 条单向的虫洞,每行三个整数 X_j,Y_j,T_j。
输出一个整数,代表小蜜蜂最多能得到多少个单位的蜂蜜。
100 3 5 2 1 1 5 2 3 1 4 5 2 120 2 5 110
280
100 7 10 9 1 1 2 4 5 5 6 5 8 6 8 7 9 8 9 1 3 2 2 3 2 3 4 5 3 5 95 3 6 13 5 7 95 6 7 11 7 8 69 7 10 66
813
200 2 3 1 1 1 2 2 3 3 1 210
-1
小蜜蜂沿着如下编号的花朵飞行 1 -> 5 -> 2 -> 3,共采摘到 400 个单位的蜂蜜,但从 5 -> 2 必须使用虫洞,因此需要支付 120 个单位的蜂蜜,最终小蜜蜂选择在 3 号花朵休息,得到了 280 个单位的蜂蜜。
对于 100\% 的数据满足:1 \le L \le 1000,1 \le M_1 \le 500,2 \le N \le 1000,1 \le M_2 \le 500,1 \le T_j \le 50000,1 \le X_i \neq Y_i \le N,1 \le X_j \neq Y_j \le N。