E - Fibonacci Subtree

解説を見る
  • 実行時間制限:2000 ms
  • メモリ制限:1073741824 Bytes
  • 配点:525
  • ジャッジ:Batch

問題

yama_can くんは、新しい根付き木(ここでは、グラフ理論の木)の種類を思いつき、それをフィボナッチ木として命名しました。

  • レベル 00 のフィボナッチ木は1つの頂点から構成される木である
  • レベル 11 のフィボナッチ木は1つの頂点から構成される木である
  • レベル i+2i + 2 のフィボナッチ木は新しく1つの根を作り、レベル ii のフィボナッチ木とレベル i+1i+1 のフィボナッチ木の根をそれぞれ新しい根に辺を貼ってできる木である。

さて、yama_can くんは今自分が持っている木がフィボナッチ木の部分木であるかが気になりました。
木 が与えられるので、それがあるレベルのフィボナッチ木の部分木となる最小のレベルを出力してください。
フィボナッチ木の部分木となりえない場合は -1 を出力してください。

ただし、「木 TT の部分木」とは木 TT のある2つの頂点 A,BA, B を選択し、AA を始点とし BB を含むパスの終点となる頂点をすべて削除する操作を繰り返して得られる木です。

木は、入力で与えられる長さ N1N-1 の数列 Ui,ViU_i, V_i についてを Ui,ViU_i, V_i をつなぐ N1N-1 個の辺からなる木として与えられます。

制約

  • 1N2×1051\leq N\leq 2\times 10^5
  • グラフは木である

入力

NN
U1 V1U_1~V_1
U2 V2U_2~V_2
\vdots
UN2 VN2U_{N-2}~V_{N-2}
UN1 VN1U_{N-1}~V_{N-1}

小課題

  • 小課題1 (200点)
    • 1N50001\leq N\leq 5000
  • 小課題2 (325点)
    • 追加の制約はありません

入力例1

4
1 2
2 3
3 4

この入力はすべての小課題の制約を満たします。

出力例1

3

入力例2

2
2 1

出力例2

2

入力例3

3
1 2
1 3

出力例3

2