#include<cstdio>
#define M 100025
#define N 30001
bool c[N];
int i,n,m,x,y,j,p,u,k,s[N],e[N],a[M],b[M],d[M],*h[N],*z[N],v[N];
int main()
{FILE *f=fopen("sate.in","r"),*g=fopen("sate.out","w");
fscanf(f,"%d%d%d%d",&n,&m,&x,&y);
for(i=1;i<=n;i++)
h[i]=new int[1],z[i]=new int[1],v[i]=0;
for(j=1;j<=m;j++)
fscanf(f,"%d%d%d",&a[j],&b[j],&d[j]),v[a[j]]++,v[b[j]]++;
for(i=1;i<=n;i++)
h[i]=new int[v[i]],z[i]=new int[v[i]],v[i]=0;
for(j=1;j<=m;j++)
{h[a[j]][v[a[j]]]=b[j],h[b[j]][v[b[j]]]=a[j];
z[a[j]][v[a[j]]++]=d[j],z[b[j]][v[b[j]]++]=-d[j];}
for(i=0;i<v[x];i++)
s[u++]=h[x][i],e[h[x][i]]=z[x][i];
for(c[x]=1;p<u&&!c[y];p++)
for(j=s[p],c[j]=1,i=0;i<v[j];i++)
if(!c[h[j][i]])
s[u++]=h[j][i],e[h[j][i]]=e[j]+z[j][i];
fprintf(g,"%d",e[y]);
return 0;}