あなたの州は、手つかずの広大な土地を購入したばかりで、ハイキングコースのある自然公園にしようとしています。この土地には、訪問客が歩いて訪れたいと思う見どころが $n$ か所あり、そのうち $k$ か所は特に重要な場所です。州はこれらの場所をハイキングコースで結ぼうとしています。候補となるコースは $m$ 本あり、それぞれ 2 か所の見どころを直接結び、費用はコースによって異なります。コースの選び方にはいくつかの制約があります。まず、どの場所からどの別の場所へも、歩いて移動する経路がちょうど 1 つ存在しなければなりません。次に、重要な場所と通常の場所を直接結ぶコースがちょうど $w$ 本なければなりません。当然ながら、州はこれらのコースを切り開く費用を最小限にしたいと考えています。
入力
各入力は 1 つのテストケースからなります。プログラムは異なる入力に対して複数回実行される場合があることに注意してください。入力の最初の行には 4 つの整数 $n,m,k,w$ が与えられます。$n$($2 \le n \le 2 \cdot 10^5$)は場所の数、$m$($1 \le m \le 5 \cdot 10^5$)は場所を直接結ぶコースの候補の数、$k$($1 \le k < n$)は重要な場所の数、$w$($1 \le w \le n-1$)は州が切り開こうとしている、重要な場所と重要でない場所を直接結ぶコースの本数です。場所には $1$ から $n$ までの番号が付いています。
続く $k$ 行には、それぞれ重要な場所を表す整数 $s$($1 \le s \le n$)が 1 つ与えられます。これらの値は相異なり、昇順に並んでいます。
続く $m$ 行はそれぞれ、州が切り開くことのできるコースの候補を表します。各行には 3 つの整数 $a,b,c$ が与えられます。このコースは場所 $a$ と場所 $b$($1 \le a,b \le n$、$a \ne b$)を結び、その費用は $c$($1 \le c \le 10^5$)です。どの 2 か所の間にもコースの候補は高々 1 本しかなく、$a$ から $b$ へのコースと $b$ から $a$ へのコースは同じものです。
出力
制約を満たすように新しい公園のコースを切り開くための最小総費用を、整数 1 つで出力してください。不可能な場合は $-1$ を出力してください。
入出力例
入力 1
3 3 1 2 2 1 2 2 1 3 1 2 3 3
出力 1
5
入力 2
3 1 1 1 2 1 2 2
出力 2
-1