#abc073d. [abc073_d]joisino's travel

[abc073_d]joisino's travel

問題文

Atcoder国には NN 個の町があり、MM 本の双方向に移動可能な道で結ばれています。

また、 ii 本目の道は町 AiA_i と町 BiB_i の間を距離 CiC_i で結んでいます。

joisinoお姉ちゃんは、この国の RR 個の町 r1,r2..rRr_1,r_2..r_R を訪れることとなりました。

最初に訪れる町までの移動と、最後に訪れる町からの移動は空路で行うが、それ以外は道を使わなければなりません。

町を訪れる順番を、道での移動距離が最小となるように決めた時の移動距離を答えてください。

制約

  • 2N2002≦N≦200
  • 1MN×(N1)/21≦M≦N×(N-1)/2
  • 2Rmin(8,N)2≦R≦min(8,N) ( min(8,N)min(8,N)88NN のうち小さい方)
  • rirj(ij)r_i≠r_j (i≠j)
  • 1Ai,BiN,AiBi1≦A_i,B_i≦N , A_i≠B_i
  • (Ai,Bi)(Aj,Bj),(Ai,Bi)(Bj,Aj)(ij)(A_i,B_i)≠(A_j,B_j),(A_i,B_i)≠(B_j,A_j) (i≠j)
  • 1Ci1000001≦C_i≦100000
  • すべての町の間は道のみで移動することができる。
  • 入力は全て整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN MM RR r1r_1 ...... rRr_R A1A_1 B1B_1 C1C_1 :: AMA_M BMB_M CMC_M

出力

町を訪れる順番を、道での移動距離が最小となるように決めた時の移動距離を出力せよ。


入力例 1

3 3 3
1 2 3
1 2 1
2 3 1
3 1 4

出力例 1

2

例えば、町 11 ,町 22 ,町 33 の順番で訪れると、移動距離が 22 となり、最小となります。


入力例 2

3 3 2
1 3
2 3 2
1 3 6
1 2 2

出力例 2

4

11 を訪れたあとに町 33 を訪れても、町 33 を訪れたあとに町 11 を訪れても、町 11 と町 33 の間の最短距離は 44 であるため、どの順番を選んだとしても答えは 44 となります。


入力例 3

4 6 3
2 3 4
1 2 4
2 3 3
4 3 1
1 4 1
4 2 2
3 1 6

出力例 3

3