#include <bits/stdc++.h>
using namespace std;
int main(int arg, char **argv) {
  int V, E, r;
  cin >> V >> E >> r;
  vector<vector<pair<int, int>>> A(V);
  for (int i = 0; i < E; i++) {
    int s, t, w;
    cin >> s >> t >> w;
    A[s].push_back({w, t});
  }
  vector<bool> U(V);
  priority_queue<pair<int, int>, vector<pair<int, int>>,
                 greater<pair<int, int>>>
      q;
  q.push({0, r});
  int sum = 0;
  while (!q.empty()) {
    auto c = q.top();
    q.pop();
    if (U[c.second]) continue;
    U[c.second] = true;
    sum += c.first;
    for (auto &a : A[c.second])
      if (!U[a.second]) q.push(a);
  }
  cout << sum << endl;
  return 0;
}
