#include "crocodile.h"
#include <bits/stdc++.h>
using namespace std;
vector<vector<pair<int,int>>> adj(1e5);
int travel_plan(int N, int M, int R[][2], int L[], int K, int P[])
{
int n=N;
int m=M;
for(int i=0;i<m;++i){
adj[R[i][0]].push_back({R[i][1],L[i]});
adj[R[i][1]].push_back({R[i][0],L[i]});
}
vector<bool> h(n,0);
for(int i=0;i<K;++i){
h[P[i]]=1;
}
vector<int> s(n,1e9);
for (int i = 1;i <= 3*n;++i) {
for (int j = 0;j < n;++j) {
if (h[j] == 1) {
s[j]=0;
}
int mn = 1e9;
int mn2 = 1e9;
for (auto k : adj[j]) {
if((s[k.first]+k.second)<=mn){
mn2=mn;
mn = s[k.first]+k.second;
}
else if((s[k.first]+k.second)<=mn2){
mn2=s[k.first]+k.second;
}
}
s[j]=min(mn2,s[j]);
}
}
return s[0];
}