atcoder#ABC240E. [ABC240E] Ranges on Tree

[ABC240E] Ranges on Tree

Score : 500500 points

Problem Statement

You are given a rooted tree with NN vertices. The root is Vertex 11. For each i=1,2,,N1i = 1, 2, \ldots, N-1, the ii-th edge connects Vertex uiu_i and Vertex viv_i.

For each i=1,2,,Ni = 1, 2, \ldots, N, let SiS_i denote the set of all vertices in the subtree rooted at Vertex ii. (Each vertex is in the subtree rooted at itself, that is, iSii \in S_i.)

Additionally, for integers ll and rr, let [l,r][l, r] denote the set of all integers between ll and rr, that is, [l,r]={l,l+1,l+2,,r}[l, r] = \lbrace l, l+1, l+2, \ldots, r \rbrace.

Consider a sequence of NN pairs of integers $\big((L_1, R_1), (L_2, R_2), \ldots, (L_N, R_N)\big)$ that satisfies the conditions below.

  • 1LiRi1 \leq L_i \leq R_i for every integer ii such that 1iN1 \leq i \leq N.
  • The following holds for every pair of integers (i,j)(i, j) such that 1i,jN1 \leq i, j \leq N.- [Li,Ri][Lj,Rj][L_i, R_i] \subseteq [L_j, R_j] if SiSjS_i \subseteq S_j
    • [Li,Ri][Lj,Rj]=[L_i, R_i] \cap [L_j, R_j] = \emptyset if SiSj=S_i \cap S_j = \emptyset

It can be shown that there is at least one sequence $\big((L_1, R_1), (L_2, R_2), \ldots, (L_N, R_N)\big)$. Among those sequences, print one that minimizes $\max \lbrace L_1, L_2, \ldots, L_N, R_1, R_2, \ldots, R_N \rbrace$, the maximum integer used. (If there are multiple such sequences, you may print any of them.)

Constraints

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 1ui,viN1 \leq u_i, v_i \leq N
  • All values in input are integers.
  • The given graph is a tree.

Input

Input is given from Standard Input in the following format:

NN

u1u_1 v1v_1

u2u_2 v2v_2

\vdots

uN1u_{N-1} vN1v_{N-1}

Output

Print NN lines in the format below. That is, for each i=1,2,,Ni = 1, 2, \ldots, N, the ii-th line should contain LiL_i and RiR_i separated by a space.

L1L_1 R1R_1

L2L_2 R2R_2

\vdots

LNL_N RNR_N

3
2 1
3 1
1 2
2 2
1 1

$(L_1, R_1) = (1, 2), (L_2, R_2) = (2, 2), (L_3, R_3) = (1, 1)$ satisfies the conditions. Indeed, we have $[L_2, R_2] \subseteq [L_1, R_1], [L_3, R_3] \subseteq [L_1, R_1], [L_2, R_2] \cap [L_3, R_3] = \emptyset$. Additionally, $\max \lbrace L_1, L_2, L_3, R_1, R_2, R_3 \rbrace = 2$ is the minimum possible value.

5
3 4
5 4
1 2
1 4
1 3
3 3
2 2
1 2
1 1
5
4 5
3 2
5 2
3 1
1 1
1 1
1 1
1 1
1 1