AT_ddcc2017_final_d なめらかな木
Description
[problemUrl]: https://atcoder.jp/contests/ddcc2017-final/tasks/ddcc2017_final_d
$ N $ 頂点の木が与えられます。 頂点には番号 $ 1,\ 2,\ ...,\ N $ がついており、$ i $ 番目の辺は頂点 $ a_i,\ b_i $ をつないでいます。
木の頂点に整数 $ 1,\ 2,\ ...,\ N $ をそれぞれ $ 1 $ 個ずつ書き込むことを考えます。 頂点 $ i $ に書き込んだ値を $ c_i $ とします。
ただし、頂点 $ u,\ v $ が隣り合っている、つまり辺 $ (u,\ v) $ が存在するならば、 $ |c_u\ -\ c_v|\ ≦\ 2 $ を満たしていないといけません。(10:53)変数名を修正しました
このような書き込み方は何通りあるでしょうか、$ 1000000007\ =\ 10^9\ +\ 7 $ で割った余りを求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ a_1 $ $ b_1 $ $ a_2 $ $ b_2 $ $ : $ $ a_{N-1} $ $ b_{N-1} $
Output Format
求めた答えを出力してください。
Explanation/Hint
### 制約
- $ 1\ ≦\ N\ ≦\ 50 $
- $ 1\ ≦\ a_i,\ b_i\ ≦\ N $
- 入力は木になっている
### Sample Explanation 1
頂点 $ 1 $ に $ 3 $ を書き込む必要があります。