CF BUDDY
← Problems·

1325C · Ehab and Path-etic MEXs

1500 · constructive algorithms, dfs and similar, greedy

Problem: You are given a tree consisting of nn nodes. You want to write some labels on the tree's edges such that the following conditions hold:

  • Every label is an integer between 00 and n2n-2 inclusive.
  • All the written labels are distinct.
  • The largest value among MEX(u,v)MEX(u,v) over all pairs of nodes (u,v)(u,v) is as small as possible.

Here, MEX(u,v)MEX(u,v) denotes the smallest non-negative integer that isn't written on any edge on the unique simple path from node uu to node vv.

Input Format: The first line contains the integer nn (2n1052 \le n \le 10^5) — the number of nodes in the tree.

Each of the next n1n-1 lines contains two space-separated integers uu and vv (1u,vn1 \le u,v \le n) that mean there's an edge between nodes uu and vv. It's guaranteed that the given graph is a tree.

Output Format: Output n1n-1 integers. The ithi^{th} of them will be the number written on the ithi^{th} edge (in the input order).

Note: The tree from the second sample:

Sample Cases

Case 1

Input

3
1 2
1 3

Output

0
1

Case 2

Input

6
1 2
1 3
2 4
2 5
5 6

Output

0
3
2
4
1

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback