#include<iostream>
#include<fstream>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
short int N, X, Y;
int M, D;
int i, j, vizitat[30001];
int suma=0;
typedef struct nod2
{
int dist[30001];
};
nod2 * lista[30001];
// Introducere lista de distanta
void ad()
{
f>>i; f>>j; f>>D;
lista[i]->dist[j]=D;
lista[j]->dist[i]=-D;
}
// ------------------------------
void calcul(int x, int y)
{
while(x != y)
for(j=1;j<=N;j++)
if(lista[x]->dist[j] != 0 && vizitat[j] != 1)
{
suma+=lista[x]->dist[j];
vizitat[x]=1;
x=j;
break;
}
g<<suma;
}
int main()
{
int a, b;
// Citim date din fisier
f>>N; f>>M; f>>X; f>>Y;
// Initializare lista de distanta si lista de noduri vizitate
for(a=1;a<=N;a++)
{
lista[a] = new nod2;
vizitat[a]=0;
for(b=1;b<=N;b++)
{ lista[a]->dist[b]=0; }
}
// Adaugare lista de distanta
for(a=1;a<=M;a++)
ad();
calcul(X, Y);
f.close();
g.close();
return 0;
}