codeforces#P1325C. Ehab and Path-etic MEXs

    ID: 30979 远端评测题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>constructive algorithmsdfs and similargreedytrees*1500

Ehab and Path-etic MEXs

Description

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

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

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

The first line contains the integer $n$ ($2 \le n \le 10^5$) — the number of nodes in the tree.

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

Output $n-1$ integers. The $i^{th}$ of them will be the number written on the $i^{th}$ edge (in the input order).

Input

The first line contains the integer $n$ ($2 \le n \le 10^5$) — the number of nodes in the tree.

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

Output

Output $n-1$ integers. The $i^{th}$ of them will be the number written on the $i^{th}$ edge (in the input order).

Samples

3
1 2
1 3
0
1
6
1 2
1 3
2 4
2 5
5 6
0
3
2
4
1

Note

The tree from the second sample: