小红的树不动点
题号:NC299575
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红定义一棵树的其中一棵子树^\texttt{[1]}的权值为:将子树的所有节点编号从小到大排序后,形成数组的不动点^\texttt{[2]}数量。
\hspace{15pt}现在小红拿到了一棵有 n 个节点,以 n 为根的树,他想知道这棵树的所有子树的权值之和,请你帮帮他。

【名词解释】
\hspace{15pt}子树^\texttt{[1]}:树中某节点删掉与父亲相连的边后,该节点所在的子图。
\hspace{15pt}不动点^\texttt{[2]}:定义整数 i\left(1\leqq i \leqq m \right) 是长度为 m 的数组 \{a_1,a_2,\dots,a_m\} 的一个不动点,当且仅当满足 a_i = i

输入描述:

\hspace{15pt}第一行输入一个整数 n\left(1\leqq n \leqq 2\times 10^5 \right),代表树的节点数量。
\hspace{15pt}此后 n - 1 行,第 i 行输入两个整数 u_i,v_i(1\leqq u_i,v_i\leqq n),表示第 i 条树边连接节点 u_i 和 v_i

输出描述:

\hspace{15pt}输出一个整数,代表子树权值之和。
示例1

输入

复制
4
3 4
2 4
1 2

输出

复制
7
示例2

输入

复制
4
1 3
2 3
4 3

输出

复制
8
示例3

输入

复制
4
1 4
2 4
4 3

输出

复制
5