#include <vector>
#include <fstream>
using namespace std;
void dfs(int nod, vector<vector<pair<int, int>>>& lista, vector<int>& visited, int& suma, int& y) {
visited[nod] = 1;
for (auto vecin : lista[nod]) {
int nodVecin = vecin.first;
int dist = vecin.second;
if (!visited[nodVecin]) {
if (nodVecin > nod) {
suma += dist;
}
else {
suma -= dist;
}
dfs(nodVecin, lista, visited, suma, y);
}
}
}
int main() {
vector<vector<pair<int, int>>> lista;
vector<int> visited;
int n, m, x, y, i, j, suma;
ifstream in("sate.in");
ofstream out("sate.out");
in>>n>>m>>x>>y;
lista.resize(n+1);
visited.resize(n+1);
int d;
while (in>>i>>j>>d) {
lista[i].push_back({j, d});
lista[j].push_back({i, d});
}
in.close();
suma = 0;
dfs(x, lista, visited, suma, y);
out<<suma;
out.close();
return 0;
}