#include "crocodile.h"
#include<bits/stdc++.h>
using namespace std;
vector<pair<int,int>> v[100010];
priority_queue<pair<int,int>> pq;
int visited[100010];
int dp[100010];
int travel_plan(int n, int m, int r[][2], int l[], int k, int p[])
{
for(int i=0;i<m;i++){
v[r[i][0]].push_back({r[i][1],l[i]});
v[r[i][1]].push_back({r[i][0],l[i]});
}
for(int i=0;i<k;i++){
pq.push({0,p[i]});
}
while(pq.empty()==0){
int w=-pq.top().first;
int x=pq.top().second;
pq.pop();
if(visited[x]==2)
continue;
if(visited[x]==0&&w!=0){
visited[x]=1;
continue;
}
visited[x]=2;
dp[x]=w;
for(auto g:v[x]){
if(visited[g.first]!=2){
pq.push({-w-g.second,g.first});
}
}
}
return dp[0];
}