John has just bought a new car and is planning a journey around the country. Country has _N_ cities, some of which are connected by bidirectional roads. There are _N_ - 1 roads and every city is reachable from any other city. Cities are labeled from 1 to _N_.
John first has to select from which city he will start his journey. After that, he spends one day in a city and then travels to a randomly choosen city which is directly connected to his current one and which he has not yet visited. He does this until he can't continue obeying these rules.
To select the starting city, he calls his friend Jack for advice. Jack is also starting a big casino business and wants to open casinos in some of the cities (max 1 per city, maybe nowhere). Jack knows John well and he knows that if he visits a city with a casino, he will gamble exactly once before continuing his journey.
He also knows that if John enters a casino in a good mood, he will leave it in a bad mood and vice versa. Since he is John's friend, he wants him to be in a good mood at the moment when he finishes his journey. John is in a good mood before starting the journey.
In how many ways can Jack select a starting city for John and cities where he will build casinos such that no matter how John travels, he will be in a good mood at the end? Print answer modulo 109 + 7.
## Input
In the first line, a positive integer _N_ (1 ≤ _N_ ≤ 100000), the number of cities.
In the next _N_ - 1 lines, two numbers _a_, _b_ (1 ≤ _a_, _b_ ≤ _N_) separated by a single space meaning that cities _a_ and _b_ are connected by a bidirectional road.
## Output
Output one number, the answer to the problem modulo 109 + 7.
[samples]
## Note
Example 1: If Jack selects city 1 as John's starting city, he can either build 0 casinos, so John will be happy all the time, or build a casino in both cities, so John would visit a casino in city 1, become unhappy, then go to city 2, visit a casino there and become happy and his journey ends there because he can't go back to city 1. If Jack selects city 2 for start, everything is symmetrical, so the answer is 4.
Example 2: If Jack tells John to start from city 1, he can either build casinos in 0 or 2 cities (total 4 possibilities). If he tells him to start from city 2, then John's journey will either contain cities 2 and 1 or 2 and 3. Therefore, Jack will either have to build no casinos, or build them in all three cities. With other options, he risks John ending his journey unhappy. Starting from 3 is symmetric to starting from 1, so in total we have 4 + 2 + 4 = 10 options.
John 刚买了一辆新车,计划进行一次全国旅行。该国有 #cf_span[N] 座城市,其中一些城市由双向道路连接。共有 #cf_span[N - 1] 条道路,且任意两座城市之间均可互相到达。城市编号为 #cf_span[1] 到 #cf_span[N]。
John 首先需要选择一个城市作为旅程的起点。之后,他每天在一座城市停留一天,然后随机选择一个与当前城市直接相连且尚未访问过的城市继续前行。他持续这一过程,直到无法再遵守这些规则为止。
为了选择起点城市,他咨询了他的朋友 Jack。Jack 正在开展一项大型赌场业务,希望在部分城市开设赌场(每座城市最多开设 #cf_span[1] 个,也可能不设任何赌场)。Jack 很了解 John,他知道如果 John 访问了一座有赌场的城市,他一定会在继续旅程前赌博一次。
他还知道,如果 John 以好心情进入赌场,他离开时会变成坏心情,反之亦然。由于他是 John 的朋友,他希望 John 在旅程结束时仍保持好心情。John 在旅程开始前处于好心情状态。
请问 Jack 有多少种方式可以选择 John 的起点城市以及建造赌场的城市,使得无论 John 如何旅行,他在旅程结束时都处于好心情?请输出答案对 #cf_span[109 + 7] 取模的结果。
第一行输入一个正整数 #cf_span[N (1 ≤ N ≤ 100000)],表示城市数量。
接下来的 #cf_span[N - 1] 行,每行两个数 #cf_span[a, b (1 ≤ a, b ≤ N)],用空格分隔,表示城市 #cf_span[a] 和 #cf_span[b] 之间有一条双向道路。
输出一个数字,表示该问题的答案对 #cf_span[109 + 7] 取模的结果。
示例 1:如果 Jack 选择城市 1 作为起点,他可以不建任何赌场,这样 John 会一直保持好心情;或者在两座城市都建赌场,这样 John 会在城市 1 赌博后心情变坏,再到城市 2 赌博后心情变好,旅程结束(因为他无法返回城市 1)。如果 Jack 选择城市 2 作为起点,情况对称,因此答案为 4。
示例 2:如果 Jack 让 John 从城市 1 出发,他可以不建任何赌场,或者在两座城市建赌场(共 4 种可能)。如果他让 John 从城市 2 出发,则 John 的旅程将包含城市 2 和 1,或城市 2 和 3。因此,Jack 必须要么不建任何赌场,要么在所有三座城市都建赌场;其他选择都可能导致 John 以坏心情结束旅程。从城市 3 出发的情况与从城市 1 出发对称,因此总共有 #cf_span[4 + 2 + 4 = 10] 种方案。
## Input
第一行输入一个正整数 #cf_span[N (1 ≤ N ≤ 100000)],表示城市数量。接下来的 #cf_span[N - 1] 行,每行两个数 #cf_span[a, b (1 ≤ a, b ≤ N)],用空格分隔,表示城市 #cf_span[a] 和 #cf_span[b] 之间有一条双向道路。
## Output
输出一个数字,表示该问题的答案对 #cf_span[109 + 7] 取模的结果。
[samples]
## Note
示例 1:如果 Jack 选择城市 1 作为 John 的起点,他可以不建任何赌场,这样 John 会一直保持好心情;或者在两座城市都建赌场,这样 John 会在城市 1 赌博后心情变坏,再到城市 2 赌博后心情变好,旅程结束(因为他无法返回城市 1)。如果 Jack 选择城市 2 作为起点,情况对称,因此答案为 4。示例 2:如果 Jack 让 John 从城市 1 出发,他可以不建任何赌场,或者在两座城市建赌场(共 4 种可能)。如果他让 John 从城市 2 出发,则 John 的旅程将包含城市 2 和 1,或城市 2 和 3。因此,Jack 必须要么不建任何赌场,要么在所有三座城市都建赌场;其他选择都可能导致 John 以坏心情结束旅程。从城市 3 出发的情况与从城市 1 出发对称,因此总共有 #cf_span[4 + 2 + 4 = 10] 种方案。
**Definitions**
Let $ G = (V, E) $ be a tree with $ |V| = N $, $ |E| = N-1 $, and $ V = \{1, 2, \dots, N\} $.
Let $ s \in V $ be the starting city.
Let $ C \subseteq V $ be the set of cities where casinos are built.
John’s journey is a simple path $ P = (v_0 = s, v_1, v_2, \dots, v_k) $, starting at $ s $, where each step moves to an unvisited neighbor, and the path ends when no unvisited neighbors remain.
Each time John visits a city $ v \in C $, his mood flips: starts in good mood (state 0), and flips to bad (state 1) and back.
**Constraints**
1. $ 1 \le N \le 100000 $
2. The graph is a tree.
3. For any journey path $ P $ starting at $ s $, the final mood must be good (i.e., even number of casino visits along $ P $).
**Objective**
Count the number of pairs $ (s, C) \in V \times 2^V $ such that for **every** possible maximal simple path $ P $ starting at $ s $, the number of vertices in $ P \cap C $ is even.
Output the count modulo $ 10^9 + 7 $.