#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fisierin("sate.in");
ofstream fisierout("sate.out");
vector<pair<int, int>> z(300);
vector<bool> vizitat(300);
int n, m, x, y, d,i, j ,s;
int f(int nod,int suma)
{
if(nod == y)
return suma;
else
{
vizitat[nod]=true;
for(int k=0;k<z[nod].size();k++)
{
if(!vizitat[z[nod][k]].first)
{
u=z[nod][k].second;
f(z[nod][k], suma + u);
}
}
}
}
int main()
{
fisierin>>n>>m;
fisierin>>x>>y;
for(int k=0;k<m;k++)
{
fisierin>>i>>j>>d;
z[i].push_back({j,d});
z[j].push_back({i, -d});
}
for(int cnt=0;cnt<z.size();cnt++)
cout<<z[cnt];
s=f(x, 0);
fisierout<<s;
}