LCA点对求和

LCA点对求和

Background

首先是最近公共祖先的概念(什么是最近公共祖先?)

在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先,就是两个节点在这棵树上深度最大的公共的祖先节点。

换句话说,就是两个点在这棵树上距离最近的公共祖先节点。

所以LCA主要是用来处理当两个点仅有唯一一条确定的最短路径时的路径。

Description

Alpha已经学会了如何快速求LCA。

给定一棵树,\(N\)个节点,\(N-1\)条边串联,第\(i\)条边连接\(u_i\)和\(v_i\),根节点为1。

定义一个函数: \(LCA(i,j)\),其值为\(i\)和\(j\)的最近公共祖先的点编号。

试求表达式\(\overset{N-1}{\underset{i=1}{\sum}}\overset{N}{\underset{j=i+1}{\sum}}LCA(i,j)\)的值,答案对\(998244353\)取余。

Format

Input

第\(1\)行一个整数\(N\),表示树的大小。

第\(2\)行至第\(N\)行,每行两个整数,描述一条边。

可以认为一条边的输入为\(dad\)节点和\(son\)节点

Output

第\(1\)行一个整数,表示表达式的值。

Sample 1

Input

6
1 2
2 3
3 4
3 5
4 6

Output

32

Sample 2

Input

20
1 2
2 3
3 19
2 4
4 17
17 18
17 20
2 5
5 14
14 15
15 16
1 6
6 7
7 8
8 11
7 9
9 10
10 12
10 13

Output

520

Limitation

对于\(100\%\)的数据: \(2\leq N\leq 10^6,1\leq u_i,v_i\leq N\)

Hint

No Hint

信息

ID
1001
难度
10
分类
(无)
标签
(无)
递交数
1
已通过
0
通过率
0%
上传者