Paul and Micha, tired after a lecture, decide to go to Limmat. But they take the brave decision and get on the Polybahn. In the middle of the ride, the Polybahn gets stuck by a tree, and out of boredom, Paul challenges Micha to count the number of connected subgraphs of this tree, where every subgraph has maximum matching of size 1. Micha gets confused by Paul's mind-bending challenge and calls you for help to count this number in modulo $$$10^9 + 7 $$$.
Luckily, Micha recalls the definition of a subgraph: A subgraph of a tree is some set of the tree vertices and some set of the tree edges. The set of edges must meet the following condition: Both ends of each edge from the set must belong to the chosen set of vertices.
The first line contains a single integer $$$n$$$ $$$(2 \leq n \leq 10^5)$$$.
In the next $$$n - 1$$$ lines you are given the edges of the tree. In each of these lines you are given $$$u$$$ and $$$v$$$ $$$(1 \leq u, v \leq n)$$$ describing an edge between nodes $$$u$$$ and $$$v$$$.
Print a single integer modulo $$$10^9+7$$$, number of connected subgraphs of the tree, where every subgraph has maximum matching of size exactly 1.
31 22 3
3
55 33 45 13 2
9
The tree in the first sample has 3 connected subgraphs with maximum matching of size 1 each.