#include <bits/stdc++.h> using namespace std; const int MAXN=1000001; int N,S; long long maxn[MAXN]; int to[MAXN];int ll; int hea[MAXN]; int nex[MAXN]; long long Val[MAXN]; long long f[MAXN]; void bl(int u,int v,long long val){ to[++ll]=v;nex[ll]=hea[u];hea[u]=ll;Val[ll]=val; } void dfs(int u,int fa){ for(int i=hea[u];i;i=nex[i]){ int v=to[i];if(v==fa)continue; dfs(v,u); maxn[u]=max(maxn[u],maxn[v]+Val[i]); } for(int i=hea[u];i;i=nex[i]){ int v=to[i];if(v==fa)continue; f[u]+=maxn[u]-maxn[v]-Val[i]+f[v]; } } int main(){ scanf("%d%d",&N,&S); for(int i=1;i<N;i++){ int u,v;long long val; scanf("%d%d%lld",&u,&v,&val); bl(u,v,val);bl(v,u,val); } dfs(S,0); printf("%lld",f[S]); }