#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,s,t,x,y,w,ans=LONG_LONG_MAX,a[2501][2501];
void dfs(int k,int d){
if(d>=ans)return ;
if(k==t){
ans=min(ans,d);
return ;
}
for(int i=1;i<=n;i++){
if(a[k][i]!=0){
dfs(i,d+a[k][i]);
}
}
}
signed main(){
scanf("%lld%lld%lld%lld",&n,&m,&s,&t);
for(int i=1;i<=m;i++){
scanf("%lld%lld%lld",&x,&y,&w);
if(x==y)continue;
a[x][y]=w;
a[y][x]=w;
}
dfs(s,0);
cout<<ans;
return 0;
}
蒟蒻不才,求教