function Main(input) {
  input = input.split("\n");
  var N = parseInt(input[0].split(" ")[0]);
  var M = parseInt(input[0].split(" ")[1]);
  var R = parseInt(input[0].split(" ")[2]);
  r= input[1].split(" ");
  for(i=0;i<R;i++){
    r[i]=parseInt(r[i])-1;
  }
  map=new Array(N);
  for(i=0;i<N;i++){
    map[i]=new Array(N).fill(Number.MAX_VALUE);
  }
  for(i=0;i<M;i++){
    map[parseInt(input[i+2].split(" ")[0]-1)][parseInt(input[i+2].split(" ")[1]-1)]=parseInt(input[i+2].split(" ")[2]);
    map[parseInt(input[i+2].split(" ")[1]-1)][parseInt(input[i+2].split(" ")[0]-1)]=parseInt(input[i+2].split(" ")[2]);
  }
  for(k=0;k<N;k++){
    for(i=0;i<N;i++){
      for(j=0;j<N;j++){
        if(map[i][j]>map[i][k]+map[k][j]){
          map[i][j]=map[i][k]+map[k][j];
        }
      }
    }
  }
  perm = generatePermutation([],[],r,r.length);
  var ans=Number.MAX_VALUE;
  while(perm.length!=0){
    var dist=0;
    for(i=0;i<r.length-1;i++){
      dist+=map[perm[0][i]][perm[0][i+1]];
    }
    ans=Math.min(ans,dist);
    perm.shift();
  }

  function generatePermutation(perm, pre, post, n){
    var elem, i, rest, len;
    if (n > 0){
      for (i = 0, len = post.length; i < len; ++i) {
        rest = post.slice(0);
        elem = rest.splice(i, 1);
        generatePermutation(perm, pre.concat(elem), rest, n - 1);
      }
    }else{
      perm.push(pre);
    }
    return perm;
  }


  console.log('%s', ans);
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));