//35
#include<iostream>
#include<algorithm>

using namespace std;

int main(){
  int d[101][101];
  for(int n,m,s,g1,g2;cin>>n>>m>>s>>g1>>g2,n|m|s|g1|g2;){
    for(int y=1;y<=n;y++){
      for(int x=1;x<=n;x++){
	d[y][x]=(y==x)?0:1<<28;
      }
    }
    for(int i=0;i<m;i++){
      int b1,b2,c;
      cin>>b1>>b2>>c;
      d[b1][b2]=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=1<<30;
    for(int i=1;i<=n;i++){
      ans=min(ans,d[s][i]+d[i][g1]+d[i][g2]);
    }
    cout<<ans<<endl;
  }
  return 0;
}