import java.util.*;
import java.io.*;
class Fr
{
while(br.ready())
{
int numNodes
= Integer.
parseInt(st.
nextToken()); int centralNode
= Integer.
parseInt(st.
nextToken()); doTestCase(br, numNodes, centralNode);
}
}
HubNode[] nodes = new HubNode[numNodes];
for (int i = 0; i < nodes.length; i++) {
nodes[i] = new HubNode();
}
nodes[centralNode - 1].setCentral();
for (int i = 0; i < (numNodes - 1); i++) {
int nodeA
= Integer.
parseInt(st.
nextToken()); int nodeB
= Integer.
parseInt(st.
nextToken()); int effort
= Integer.
parseInt(st.
nextToken());
if(nodeA == centralNode || nodeB == centralNode) { //jeden z nich je central
if(nodeA == centralNode) {
nodes[nodeA - 1].addChild(nodes[nodeB - 1]);
nodes[nodeB - 1].setEffort(effort);
}else {
nodes[nodeB - 1].addChild(nodes[nodeA - 1]);
nodes[nodeA - 1].setEffort(effort);
}
}else { //ani jeden
if(!nodes[nodeA - 1].hasSetEffort()) { //na tenhle jsem jeste nenastavil effort
nodes[nodeA - 1].setEffort(effort);
nodes[nodeB - 1].addChild(nodes[nodeA - 1]);
}else {
nodes[nodeB - 1].setEffort(effort);
nodes[nodeA - 1].addChild(nodes[nodeB - 1]);
}
}
}
System.
out.
println(nodes
[centralNode
- 1].
getEffort());
for (int i = 0; i < nodes.length; i++) {
HubNode hubNode = nodes[i];
// System.out.println("node #"+(i+1)+", "+hubNode.getChildren().size()+" children, effort = "+hubNode.getEffort());
}
}
}
class HubNode {
protected int effort = 0;
protected boolean setEffort = false;
protected boolean central = false;
protected ArrayList<HubNode> children = new ArrayList<HubNode>();
public int getEffort() {
if(children.size() == 0) {// System.out.println("getChildren == 0");
//koncovej uzel
return effort;
}
int childEffort = 0;
for(HubNode n : getChildren()) {
childEffort += n.getEffort();
}
return (effort > childEffort || central) ? childEffort : effort;
}
void setCentral() {
central = true;
}
public boolean hasSetEffort() {
return setEffort;
}
public void setEffort(int effort) {
setEffort = true;
this.effort = effort;
}
public ArrayList<HubNode> getChildren() {
return children;
}
public void addChild(HubNode child) {
// System.out.println("Adding child ");
children.add(child);
}
}