#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e6+1;
struct jgt{
int to,s;
};
int n,st,x,y,z;
int dp[N],zy[N];
vector<jgt> lj[N];
void csh(int x,int fa,int cnt){
zy[x]=cnt;
for(int i=0;i<lj[x].size();i++){
if(lj[x][i].to==fa){
continue;
}
csh(lj[x][i].to,x,cnt+lj[x][i].s);
}
}
void solve(int x,int fa){
int maxx=-1;
for(int i=0;i<lj[x].size();i++){
if(lj[x][i].to==fa){
continue;
}
solve(lj[x][i].to,x),maxx=max(maxx,zy[lj[x][i].to]);
}
if(maxx!=-1){
zy[x]=maxx;
}
for(int i=0;i<lj[x].size();i++){
if(lj[x][i].to==fa){
continue;
}
dp[x]+=maxx-zy[lj[x][i].to];
}
}
signed main(){
cin>>n>>st;
for(int i=1;i<n;i++){
cin>>x>>y>>z;
lj[x].push_back({y,z});
lj[y].push_back({x,z});
}
csh(st,0,0);
// solve(st,0);
cout<<dp[st];
return 0;
}
读入的数据是一颗由一条长度为 499999 和一条长度为 2 的链组成的以 1 为根的树,遍历到 25900 时RE