← Home
write a go solution for Description:
We had a really tough time generating tests for problem D. In order to prepare strong tests, we had to solve the following problem.

Given an undirected labeled tree consisting of n vertices, find a set of segments such that:

1. both endpoints of each segment are integers from 1 to 2n, and each integer from 1 to 2n should appear as an endpoint of exactly one segment;
2. all segments are non-degenerate;
3. for each pair (i,j) such that inej, iin[1,n] and jin[1,n], the vertices i and j are connected with an edge if and only if the segments i and j intersect, but neither segment i is fully contained in segment j, nor segment j is fully contained in segment i.

Can you solve this problem too?

Input Format:
The first line contains one integer n (1<=n<=5*10^5) — the number of vertices in the tree.

Then n-1 lines follow, each containing two integers x_i and y_i (1<=x_i,y_i<=n, x_iney_i) denoting the endpoints of the i-th edge.

It is guaranteed that the given graph is a tree.

Output Format:
Print n pairs of integers, the i-th pair should contain two integers l_i and r_i (1<=l_i<r_i<=2n) — the endpoints of the i-th segment. All 2n integers you print should be unique.

It is guaranteed that the answer always exists.

Note:
None. Output only the code with no comments, explanation, or additional text.