#include<bits/stdc++.h>
using namespace std;
int main(){
  int n,m,s,g1,g2;
  while(cin>>n>>m>>s>>g1>>g2,n){
    int d[1001][1001]={};
    for(int i=1;i<=n;i++)
      for(int j=1;j<=n;j++)if(i!=j)d[i][j]=1e8;
    for(int i=0,a,b,c;i<m;i++)
      cin>>a>>b>>c,d[a][b]=c;
    for(int i=1;i<=n;i++)
      for(int j=1;j<=n;j++)
	for(int k=1;k<=n;k++)
	  d[j][k]=min(d[j][k],d[j][i]+d[i][k]);
    int ans=1e9;
    for(int i=1;i<=n;i++)ans=min(ans,d[s][i]+d[i][g1]+d[i][g2]);
    cout<<ans<<endl;
  }
  return 0;
}