#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=210;
ll dist[N][N];
int order[N];
int n,m,r;ll ans=1e18;
int cost[N][N];
int main()
{
	for(int i=0;i<N;i++)for(int j=0;j<N;j++)dist[i][j]=1e12;
	cin>>n>>m>>r;
	for(int i=0;i<r;i++)cin>>order[i];
	for(int i=0;i<m;i++)
	{
		int a,b,c;
		cin>>a>>b>>c;
		dist[b][a]=dist[a][b]=min(dist[a][b],(ll)c);
	}
	for(int k=1;k<=n;k++)
		for(int i=1;i<=n;i++)
			for(int j=1;j<=n;j++)
				dist[i][j]=min(dist[i][j],dist[i][k]+dist[k][j]);
	sort(order,order+r);
	do
	{
		ll sum=0;
		for(int i=1;i<r;i++)sum+=dist[order[i-1]][order[i]];
//		cout<<sum<<endl;
		ans=min(sum,ans);
	}while(next_permutation(order,order+r));
	cout<<ans<<endl;
	return 0;
}