#include <iostream>
#include <fstream>
#include <cstring>
#include <cmath>
#include <stdlib.h>
#include <iomanip>
using namespace std;
struct sat
{
int dist[1000];
};
int cauta(sat comuna[],int x,int y,int n)
{
int D=0,l=x,ant=0;
while(l!=y)
{
for(int i=1;i<=n;i++)
if(comuna[l].dist[i] && i!=ant)
{
if(l<i) D+=comuna[l].dist[i];
else D-=comuna[l].dist[i];
ant=l;
l=i;
}
}
return D;
}
int main()
{
ifstream f("sate.in");
int n,m,x,y,dist[100][100],i1,i2,d;
sat *comuna;
f>>n>>m>>x>>y;
comuna=new sat[n+1];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
comuna[i].dist[j]=0;
for(short i=0;i<m;i++)
{
f>>i1>>i2>>d;
comuna[i1].dist[i2]=d;
comuna[i2].dist[i1]=d;
}
ofstream g("sate.out");
g<<cauta(comuna,1,11,n);
f.close(); g.close();
return 0;
}