AT_agc072_e [AGC072E] Flights 2

Description

Japan has $ N $ airports numbered $ 1, 2, \dots, N $ . AtCoder Airlines operates $ M $ directed flight routes in Japan, numbered $ 1, 2, \dots, M $ . Route $ j $ goes from airport $ A_j $ to airport $ B_j $ and costs $ C_j \times F $ yen. Flying with AtCoder Airlines earns “miles.” You start with $ 0 $ miles. Taking route $ j $ once grants $ C_j $ miles. At airport $ i $ , you can exchange miles for money at the rate $ R_i $ yen per mile. Because of the constraint $ 0 \le R_i \le F-1 $ , endless profit cycles are impossible. You can exchange a non-integral amount of miles or have a non-integral amount of money, but you cannot have a negative amount of miles or money. What is the minimum initial amount of money in yen needed to fly from airport $ 1 $ to airport $ N $ ? Solve $ \mathrm{TESTCASES} $ test cases.

Input Format

The input is given from Standard Input in the following format, where $ \mathrm{case}_k $ represents the $ k $ -th test case: > $ \mathrm{TESTCASES} $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_{\mathrm{TESTCASES}} $ Each test case is given in the following format: > $ N $ $ M $ $ F $ $ A_1 $ $ B_1 $ $ C_1 $ $ A_2 $ $ B_2 $ $ C_2 $ $ \vdots $ $ A_M $ $ B_M $ $ C_M $ $ R_1 $ $ R_2 $ $ \cdots $ $ R_N $

Output Format

Print $ \mathrm{TESTCASES} $ lines. The $ k $ -th line should contain the minimum initial amount of money in yen needed to fly from airport $ 1 $ to airport $ N $ for the $ k $ -th test case. Your output is considered as correct if its absolute or relative error is at most $ 10^{-6} $ .

Explanation/Hint

### Sample Explanation 1 If you start with $ 146 $ yen, you can go from airport $ 1 $ to airport $ 3 $ : 1. Take route $ 1 $ to go from airport $ 1 $ to airport $ 2 $ . You now have $ 146-70=76 $ yen, and get $ 7 $ miles. 2. At airport $ 2 $ , exchange $ 7 $ miles for $ 14 $ yen. You now have $ 76+14=90 $ yen. 3. Take route $ 2 $ to go from airport $ 2 $ to airport $ 3 $ . You now have $ 90-90=0 $ yen, and get $ 9 $ miles. If you start with less than $ 146 $ yen, you cannot go to airport $ 3 $ . ### Sample Explanation 2 If you start with $ 106 $ yen, you can go from airport $ 1 $ to airport $ 4 $ : 1. Take route $ 1 $ to go from airport $ 1 $ to airport $ 2 $ . You now have $ 106-70=36 $ yen, and get $ 7 $ miles. 2. Take route $ 3 $ to go from airport $ 2 $ to airport $ 3 $ . You now have $ 36-10=26 $ yen, and get $ 1 $ mile. 3. At airport $ 3 $ , exchange $ 8 $ miles for $ 72 $ yen. You now have $ 26+72=98 $ yen. 4. Take route $ 4 $ to go from airport $ 3 $ to airport $ 2 $ . You now have $ 98-10=88 $ yen, and get $ 1 $ mile. 5. At airport $ 2 $ , exchange $ 1 $ mile for $ 2 $ yen. You now have $ 88+2=90 $ yen. 6. Take route $ 2 $ to go from airport $ 2 $ to airport $ 4 $ . You now have $ 90-90=0 $ yen, and get $ 9 $ miles. If you start with less than $ 106 $ yen, you cannot go to airport $ 4 $ . ### Constraints - $ 1 \le \mathrm{TESTCASES} \le 40\,000 $ - $ 2 \leq N \leq 400 $ - $ 1 \leq M \leq N \times (N-1) $ - $ 1 \leq F \leq 100 $ - $ 1 \leq A_j \leq N $ - $ 1 \leq B_j \leq N $ - $ A_j \neq B_j $ - $ (A_1, B_1), (A_2, B_2), \dots, (A_M, B_M) $ are all different. - $ 1 \le C_j \le 100 $ - $ 0 \le R_i \le F-1 $ - It is possible to go from airport $ 1 $ to airport $ N $ . - The sum of $ N^2 $ over all test cases is at most $ 160\,000 $ . - All input values are integers.