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.