atcoder#ARC088D. [ARC088F] Christmas Tree

[ARC088F] Christmas Tree

配点 : 900900

問題文

高橋君は、AtCoder 社のクリスマスパーティーに向けて、クリスマスツリーを作ることにしました。

クリスマスツリーとは 頂点に 11 から NN まで番号付けられた NN 頂点 N1N-1 辺の木で、 i(1iN1)i(1\leq i\leq N-1) 本目の辺は頂点 aia_i と頂点 bib_i を結んでいます。

高橋君は、以下の方法でクリスマスツリーを作りたいです。

  • 22 つの非負整数 A,BA,B を指定する。
  • 長さ BB 以下のクリスマスパスを AA 個用意する。ただし、長さ XX のクリスマスパスとは、X+1X+1 頂点 XX 辺からなるグラフであって、頂点に 11 から X+1X+1 までの番号を適切につければ、i(1iX)i(1\leq i\leq X) 本目の辺が頂点 ii と頂点 i+1i+1 を結んでいるようにできるものを指す。
  • 以下の操作を、全体が連結になるまで繰り返す。- 異なる連結成分に属する 22 頂点 x,yx,y をとる。頂点 xx と頂点 yy をまとめて 11 つの頂点にする。より正確には、頂点 yy に接続するすべての辺 (p,y)(p,y) について辺 (p,x)(p,x) を追加したあと、頂点 yy と、yy に接続する辺をすべて削除する。
  • 異なる連結成分に属する 22 頂点 x,yx,y をとる。頂点 xx と頂点 yy をまとめて 11 つの頂点にする。より正確には、頂点 yy に接続するすべての辺 (p,y)(p,y) について辺 (p,x)(p,x) を追加したあと、頂点 yy と、yy に接続する辺をすべて削除する。
  • 出来上がった木の各頂点に、適当な番号をつける。

高橋君は、クリスマスツリーを作ることのできるような組 (A,B)(A,B) のうち、辞書順最小のものを求めたいです。 すなわち、AA の最小値を求め、AA の最小値を達成するという条件のもとで BB の最小値も求めたいです。

高橋君にかわって、この問題を解いてください。

制約

  • 2N1052 \leq N \leq 10^5
  • 1ai,biN1 \leq a_i,b_i \leq N
  • 与えられるグラフは木である

入力

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

NN

a1a_1 b1b_1

:

aN1a_{N-1} bN1b_{N-1}

出力

辞書順最小の (A,B)(A,B) に対し、A,BA,B を空白区切りで出力せよ。

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

下の図のような方法で、クリスマスツリーを作ることができます。

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