codeforces#P468D. Tree
Tree
Description
Little X has a tree consisting of n nodes (they are numbered from 1 to n). Each edge of the tree has a positive length. Let's define the distance between two nodes v and u (we'll denote it d(v, u)) as the sum of the lengths of edges in the shortest path between v and u.
A permutation p is a sequence of n distinct integers p1, p2, ..., pn (1 ≤ pi ≤ n). Little X wants to find a permutation p such that sum is maximal possible. If there are multiple optimal permutations, he wants to find the lexicographically smallest one. Help him with the task!
The first line contains an integer n (1 ≤ n ≤ 105).
Each of the next n - 1 lines contains three space separated integers ui, vi, wi (1 ≤ ui, vi ≤ n; 1 ≤ wi ≤ 105), denoting an edge between nodes ui and vi with length equal to wi.
It is guaranteed that these edges form a tree.
In the first line print the maximum possible value of the described sum. In the second line print n integers, representing the lexicographically smallest permutation.
Input
The first line contains an integer n (1 ≤ n ≤ 105).
Each of the next n - 1 lines contains three space separated integers ui, vi, wi (1 ≤ ui, vi ≤ n; 1 ≤ wi ≤ 105), denoting an edge between nodes ui and vi with length equal to wi.
It is guaranteed that these edges form a tree.
Output
In the first line print the maximum possible value of the described sum. In the second line print n integers, representing the lexicographically smallest permutation.
Samples
2
1 2 3
6
2 1
5
1 2 2
1 3 3
2 4 4
2 5 5
32
2 1 4 5 3