A tree is a graph with n nodes and n−1 undirected edges in which every two nodes are joined by exactly one path. In a labeled tree every node carries a different integer between 1 and n. Drawing a tree neatly is hard in general, but some trees fit into a rectangular grid.
Let G be a labeled tree with n nodes. A 2×n embedding of G maps the nodes of G to the cells of a grid with 2 rows and n columns so that all three conditions hold.
Node 1 maps to the cell in the upper left corner.
Two nodes joined by an edge map to two cells that touch up, down, left or right.
No two nodes map to the same cell.
Count the 2×n embeddings of the given tree, modulo 109+7.
Input
The first line contains the number of nodes n of G (1≤n≤300000).
The j-th of the next n−1 lines contains the two endpoints aj and bj of the j-th edge (1≤aj,bj≤n, aj=bj).
The given graph is always a tree.
Output
Print the number of 2×n embeddings of the given tree, modulo 109+7.
Note
The figure above draws all 4 embeddings of the tree in the first example.