Codeforces Round 446 (Div. 1) |
---|
Закончено |
Лень — это плохо, не так ли? Поэтому мы решили приготовить задачу, чтобы наказать ленивых.
Вам дано дерево, вы должны посчитать количество способов убрать одно ребро, а затем добавить одно ребро так, чтобы получившийся граф был деревом, и в нем существовало совершенное паросочетание. Два способа считаются различными, если удаленные или добавленные ребра не совпадают. Добавленное ребро может совпадать с удаленным.
Совершенным паросочетанием называется подмножество ребер такое, что каждая вершина графа является концом ровно одного ребра.
Первая строка содержит одно целое число n (2 ≤ n ≤ 5·105) — количество вершин в дереве.
Каждая из следующих n - 1 строк содержит два целых числа a и b (1 ≤ a, b ≤ n) — концы ребер. Гарантируется, что заданный граф является деревом.
Выведите одно целое число — ответ на задачу.
4
1 2
2 3
3 4
8
5
1 2
2 3
3 4
3 5
0
8
1 2
2 3
3 4
1 5
5 6
6 7
1 8
22
В первом примере имеются 8 вариантов:
Название |
---|