AT_arc108_f [ARC108F] Paint Tree

Description

[problemUrl]: https://atcoder.jp/contests/arc108/tasks/arc108_f $ 1 $ から $ N $ の番号がついた $ N $ 個の頂点と、$ 1 $ から $ N-1 $ の番号がついた $ N-1 $ 本の辺からなる木が与えられます。 辺 $ i $ は頂点 $ a_i $ と頂点 $ b_i $ を双方向につなぐ長さ $ 1 $ の辺です。 すぬけ君はそれぞれの頂点を白か黒のどちらかで塗ります。 塗り方の *良さ* は、白色の頂点同士の距離の最大値を $ X $、黒色の頂点同士の距離の最大値を $ Y $ として $ \max(X,Y) $ です。 ここで、その色の頂点が存在しない場合の距離の最大値は $ 0 $ とすることにします。 頂点への色の塗り方は $ 2^N $ 通りあります。それぞれの塗り方について良さを計算し、その総和を $ 10^{9}+7 $ で割ったあまりを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ a_1 $ $ b_1 $ $ \vdots $ $ a_{N-1} $ $ b_{N-1} $

Output Format

それぞれの塗り方について良さを計算し、その総和を $ 10^{9}+7 $ で割ったあまりを出力せよ。

Explanation/Hint

### 制約 - 与えられる入力は全て整数 - $ 2\ \leq\ N\ \leq\ 2\ \times\ 10^{5} $ - $ 1\ \leq\ a_i,\ b_i\ \leq\ N $ - 与えられるグラフは木 ### Sample Explanation 1 \- 頂点 $ 1,2 $ の両方を同じ色で塗ったときの良さは $ 1 $ で、異なる色で塗ったときの良さは $ 0 $ です。 - 塗り方の良さの総和は $ 2 $ となります。 ### Sample Explanation 3 \- $ 10^{9}+7 $ で割ったあまりを求めるのを忘れずに。