#include <bits/stdc++.h>
using namespace std;
const int INF=pow(2,31)-1;
int p,f,c,l[505],dis[505][505];
int main(){
scanf("%d%d%d",&p,&f,&c);
for(int i=1;i<=f;i++) scanf("%d",&l[i]);
for(int i=1;i<=p;i++){
for(int j=1;j<=p;j++){
dis[i][j]=INF;
}
dis[i][i]=0;
}
for(int i=1;i<=c;i++){
int f,t,v;
scanf("%d%d%d",&f,&t,&v);
dis[f][t]=dis[t][f]=min(dis[f][t],v);
}
for(int k=1;k<=p;k++){
for(int i=1;i<=p;i++){
for(int j=1;j<=p;j++){
dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
}
}
}
long long ans=INF;
int id=0;
for(int i=1;i<=p;i++){
long long sum=0;
for(int j=1;j<=f;j++){
sum+=dis[i][l[j]];
}
if(sum<ans){
ans=sum;
id=i;
}
}
printf("%d",id);
return 0;
}