#abc146d. [abc146_d]Coloring Edges on Tree

[abc146_d]Coloring Edges on Tree

問題文

NN 頂点の木 GG が与えられます。 頂点には 11 から NN までの番号がついており、ii 本目の辺は頂点 aia_i と頂点 bib_i を結んでいます。

GG の辺を何色かで塗り分けることを考えます。 このとき、各頂点について、その頂点を端点に持つ辺の色がすべて相異なるようにしたいです。

上記の条件を満たす塗り分けの中で、使用する色の数が最小であるようなものを 11 つ構築してください。

制約

  • 2leNle1052 \\le N \\le 10^5
  • 1leailtbileN1 \\le a_i \\lt b_i \\le N
  • 入力はすべて整数
  • 与えられるグラフは木である

入力

入力は以下の形式で標準入力から与えられる。

NN a1a_1 b1b_1 a2a_2 b2b_2 vdots\\vdots aN1a_{N-1} bN1b_{N-1}

出力

出力は NN 行からなる。

11 行目に使用する色の数 KK を出力せよ。

i+1i+1 行目 (1leileN1)(1 \\le i \\le N-1)ii 番目の辺の色を表す整数 cic_i を出力せよ。ここで 1lecileK1 \\le c_i \\le K でなければならない。

問題文中の条件を満たし、使用する色の数が最小であるような塗り分けが複数存在するときは、そのうちのどれを出力しても構わない。


入力例 1

3
1 2
2 3

出力例 1

2
1
2

入力例 2

8
1 2
2 3
2 4
2 5
4 7
5 6
6 8

出力例 2

4
1
2
3
4
1
1
2

入力例 3

6
1 2
1 3
1 4
1 5
1 6

出力例 3

5
1
2
3
4
5