#include <bits/stdc++.h>

using namespace std;

constexpr int INF = 1e8;

int main(){
    ios::sync_with_stdio(false);
    int n,m,s,g1,g2;
    while(cin>>n>>m>>s>>g1>>g2,n){
        --s;
        --g1;
        --g2;
        vector<vector<int>>dist(n,vector<int>(n,INF));
        for(int i=0;i<m;++i){
            int u,v,cost;
            cin>>u>>v>>cost;
            dist[u-1][v-1]=cost;
        }
        for(int k=0;k<n;++k){
            for(int i=0;i<n;++i){
                for(int j=0;j<n;++j){
                    if(dist[i][j] > dist[i][k]+dist[k][j]){
                        dist[i][j] = dist[i][k]+dist[k][j];
                    }
                }
            }
        }
        for(int i=0;i<n;++i)dist[i][i]=0;
        int ans=1e9;
        for(int i=0;i<n;++i){
            ans=min(ans,dist[s][i]+dist[i][g1]+dist[i][g2]);
        }
        cout<<ans<<endl;
    }
}

