#CF915F. Imbalance Value of a Tree

Imbalance Value of a Tree

markdown

F. 树的失衡值

时间限制:每个测试点 44
内存限制:每个测试点 256256 MB
输入:标准输入
输出:标准输出

题目描述

给定一棵包含 nn 个节点的树 TT。每个节点上写有一个数字,节点 ii 上的数字记为 aia_i
定义函数 I(x,y)I(x, y) 为连接节点 xxyy 的简单路径上,所有 aia_i 的最大值与最小值之差。

你的任务是计算:

x=1ny=x+1nI(x,y)\sum_{x=1}^{n} \sum_{y=x+1}^{n} I(x, y)

输入

  • 第一行包含一个整数 nn1n1061 \le n \le 10^6)—— 树的节点数。
  • 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1061 \le a_i \le 10^6)—— 每个节点上的数字。
  • 接下来 n1n-1 行,每行包含两个整数 xxyy,表示连接节点 xx 和节点 yy 的一条边(1x,yn1 \le x, y \le nxyx \neq y)。数据保证这些边构成一棵树。

输出

输出一个整数,表示所求的和。

样例

输入

4
2 2 3 1
1 2
1 3
1 4

输出

6