AT_tkppc4_2_j ドライブ旅行

Description

[problemUrl]: https://atcoder.jp/contests/tkppc4-2/tasks/tkppc4_2_j パ研王国には $ N $ 個の町があり、 $ M $ 本の道がそれらを結んでいます。$ i $ 番目の道は町 $ A_i $ から町 $ B_i $ を一方通行に結んでいます。 また、 $ P $ 個の町には $ 1 $ つずつ展望台があり、町 $ C_i $ の展望台は標高 $ D_i $ の場所に設置されています。 ZRK君はこれからドライブに行く計画を立てています。彼は町 $ S $ の展望台を出発し、いくつかの道を移動して町 $ T $ の展望台でドライブを終えます。 同じ町や道を何度通過しても構いません。 ZRK君は、通過した町に展望台がある場合必ず立ち寄ります。 彼の嬉しさは最初 $ 0 $ ですが、出発時以外である展望台 $ i $ に立ち寄った時、その直前に立ち寄った展望台 $ j $ との標高差の絶対値 $ |D_i\ -\ D_j| $ だけ嬉しさが増えます。 彼は、ドライブを終えた後の嬉しさが $ K $ 以上となるルートでドライブをしたいです。 この条件を満たすルートの長さの最小値がいくつになるか求めてください。 ただし、ルートの長さは、全ての道に対する「この道を何回通ったか」の値の合計値とします。例えば、頂点 $ 3 $→$ 5 $→$ 2 $→$ 4 $→$ 3 $→$ 5 $→$ 4 $ というルートを辿った場合、ルートの長さは $ 6 $ となります。 もし嬉しさが $ K $ 以上となるルートが存在しない場合、代わりに $ -1 $ と出力して下さい。

Input Format

入力は以下の形式で標準入力から与えられます。 > $ N $ $ M $ $ P $ $ S $ $ T $ $ K $ $ A_1 $ $ B_1 $ $ A_2 $ $ B_2 $ ... $ A_M $ $ B_M $ $ C_1 $ $ D_1 $ $ C_2 $ $ D_2 $ ... $ C_P $ $ D_P $

Output Format

条件を満たすルートの長さの最小値を出力してください。 もしそのようなルートが存在しない場合、代わりに $ -1 $ と出力してください。

Explanation/Hint

### 制約 - 入力は全て整数である。 - $ 2\ \leq\ N\ \leq\ 50 $ - $ 1\ \leq\ M\ \leq\ N(N-1) $ - $ 1\ \leq\ P\ \leq\ N $ - $ 1\ \leq\ S,\ T\ \leq\ N $ - $ 1\ \leq\ K\ \leq\ 10^9 $ - $ 1\ \leq\ A_i\ ,\ B_i\ \leq\ N $ $ (1\ \leq\ i\ \leq\ M) $ - $ A_i\ \neq\ B_i $ $ (1\ \leq\ i\ \leq\ M) $ - $ (A_i,\ B_i)\ \neq\ (A_j,\ B_j) $ $ (i\ \neq\ j) $ - $ 1\ \leq\ C_i\ \leq\ N $ $ (1\ \leq\ i\ \leq\ P) $ - $ 1\ \leq\ D_i\ \leq\ 10^5 $ $ (1\ \leq\ i\ \leq\ P) $ - $ C_i\ \neq\ C_j $ $ (i\ \neq\ j) $ - $ C_i\ =\ S $ となる $ i $, $ C_j\ =\ T $ となる $ j $ が存在する。 ### 小課題 この課題には $ 2 $ つの小課題があります。 1. (300 点) $ K\ \leq\ 20 $ を満たす。 2. (700 点) 追加の制約はない。