Codeforces Round 446 (Div. 1)
D
Sloth
Codeforces
3100
原题
← CE →
翻译中…

Sloth is bad, mkay? So we decided to prepare a problem to punish lazy guys.

翻译中…

You are given a tree, you should count the number of ways to remove an edge from it and then add an edge to it such that the final graph is a tree and has a perfect matching. Two ways of this operation are considered different if their removed edges or their added edges aren't the same. The removed edge and the added edge can be equal.

翻译中…

A perfect matching is a subset of edges such that each vertex is an endpoint of exactly one of these edges.

翻译中…

Input

翻译中…

The first line contains $*n*$ ($2 ≤ *n* ≤ 5·10^{5}$) — the number of vertices.

翻译中…

Each of the next $*n* - 1$ lines contains two integers $*a*$ and $*b*$ ($1 ≤ *a*, *b* ≤ *n*$) — the endpoints of one edge. It's guaranteed that the graph is a tree.

翻译中…

Output

翻译中…

Output a single integer — the answer to the problem.

翻译中…

Note

翻译中…

In first sample, there are $8$ ways:

翻译中…
  • edge between $2$ and $3$ turns to edge between $1$ and $3$,
  • edge between $2$ and $3$ turns to edge between $1$ and $4$,
  • edge between $2$ and $3$ turns to edge between $2$ and $3$,
  • edge between $2$ and $3$ turns to edge between $2$ and $4$,
  • edge between $1$ and $2$ turns to edge between $1$ and $2$,
  • edge between $1$ and $2$ turns to edge between $1$ and $4$,
  • edge between $3$ and $4$ turns to edge between $1$ and $4$,
  • edge between $3$ and $4$ turns to edge between $3$ and $4$.
翻译中…

样例

Input #1
4
1 2
2 3
3 4
Output #1
8
InputCopy OutputCopy
Input #2
5
1 2
2 3
3 4
3 5
Output #2
0
InputCopy OutputCopy
Input #3
8
1 2
2 3
3 4
1 5
5 6
6 7
1 8
Output #3
22
InputCopy OutputCopy
题目信息
题号
891D
时间限制
2 s
内存限制
256 MB
标签
DFS 及类似
动态规划
图匹配
树

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。