#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,r,a[10],w[300][300];
int main()
{
    scanf("%d%d%d",&n,&m,&r);
    for(int i=0;i<r;i++)scanf("%d",a+i);
    sort(a,a+r);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)w[i][j]=1<<25;
    while(m--)
    {
        int x,y,z;
        scanf("%d%d%d",&x,&y,&z);
        w[x][y]=w[y][x]=z;
    }
    for(int k=1;k<=n;k++)
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)w[i][j]=min(w[i][j],w[i][k]+w[k][j]);
    int ans=1<<30;
    do
    {
        int buf=0;
        for(int i=1;i<r;i++)buf+=w[a[i-1]][a[i]];
        ans=min(ans,buf);
    }while(next_permutation(a,a+r));
    printf("%d\n",ans);
}