miranda-writes

Miranda lives in a city containing N junctions and M bidirectional roads between some pairs of these junctions.Miranda is a programming enthusiast - though in  her spare time she does make time for a bit of creative writing . She takes part in Individual Creative Penning Contest organized by the Annual Cultural Melange (ACM ICPC) . The competition is on Sunday and it is already Saturday . Miranda realizes she needs to buy K items for her competition tomorrow . Each of these K items can be found in exactly one junction in her city.  

Miranda has to starts from her school which is located in junction number 1 and ultimately must reach her home , in junction number N . On her way , Miranda must visit each of the K junctions that keep the materials required for her competition . Miranda can visit these K junctions in any order , and in doing so can cross a particular city multiple times if she needs to .   

You must find the minimum distance that Miranda must cover from her school to home such that she visits each of the K junctions atleast once.  

Input
The first line contains the integers N,M and K.
The next M lines are of the form : u v c which denotes there is a bidirectional road joining u and v which is of length c.
The next line contains K integers-the numbers of the junctions that Miranda has to visit on her path .  

Output
Print a single integer-the answer to the problem stated above.  

Constraints
2 ≤ N ≤ 400
1 ≤ M ≤ N*(N-1)/2  
0 ≤ K ≤ 15 
1 ≤ u,v ≤ N,1 ≤ c ≤ 1000  
None of the K junctions that has the material that Miranda needs is 1 or N.

SAMPLE INPUT
3 3 1
1 3 690
2 3 445
2 1 620
2

SAMPLE OUTPUT
1065

Source: hackerearth | Difficulty: MEDIUM


Solutions: