#include #include #include #include using namespace std; typedef long long ll; typedef pair Pa; struct edge{ ll to,dist; }; ll N,M,P,Q,T; ll inf = 1e18; vector> v(2010); void Dijkstra(int s,vector& dp){ dp[s] = 0; vector used(N+1,0); while(true){ ll u = -1; for(int i=1;i<=N;i++){ if(!used[i] && (u==-1 || dp[i]> N >> M >> P >> Q >> T; ll a,b,c; for(int i=0;i dp1(N+1,inf),dp2(N+1,inf),dp3(N+1,inf); Dijkstra(1,dp1); Dijkstra(P,dp2); Dijkstra(Q,dp3); ll ans = -1; for(int i=1;i