#include <bits/stdc++.h>
using namespace std;
long long int INF = 1e18;
long long int MOD = 1000000007;
using namespace std;
long long int cost[200][200];
long long int mincost[200];
bool used[200];
int V;
long long int prim(int s) {
  for (int i = 0; i < V; i++) {
    mincost[i] = INF;
    used[i] = false;
  }
  mincost[s] = 0;
  long long int total = 0;
  while (true) {
    int add_v = -1;
    for (int u = 0; u < V; u++) {
      if (!used[u] && (add_v == -1 || mincost[u] < mincost[add_v])) {
        add_v = u;
      }
    }
    if (add_v == -1) {
      break;
    }
    used[add_v] = true;
    total += mincost[add_v];
    for (int u = 0; u < V; u++) {
      mincost[u] = min(mincost[u], cost[add_v][u]);
    }
  }
  return total;
}
int main() {
  int E, r;
  cin >> V >> E >> r;
  for (int i = 0; i < V; i++) {
    for (int j = 0; j < V; j++) {
      cost[i][j] = INF;
    }
  }
  for (int i = 0; i < E; i++) {
    long long int u, v, w;
    cin >> u >> v >> w;
    cost[u][v] = w;
  }
  long long int ans = prim(r);
  cout << ans << endl;
  return 0;
}
