#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fisierin("sate.in");
ofstream fisierout("sate.out");
vector<tuple<int, int>> z[300];
vector<bool> vizitat[300];
int distante[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]])
{
u=z[nod][k][1];
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});
}
s=f(x, 0);
fisierout<<s;
}