编程题
### 问题描述
小然在一次探险中,发现了一个由 $N$ 棵树组成的魔法森林。每棵树都有一个高度 $A_i$,以及一个可以调整的高度范围 $[L_i, R_i]$,满足 $L_i \leq A_i \leq R_i$。
在森林中,如果两棵树直接相连,那么它们就形成了一对。小然想通过魔法,调整一些树的高度,使得所有形成的树对中,高度差的绝对值的总和尽可能小。
你能帮助小然找到最小的总和吗?
### 输入格式
第一行包含一个整数 $N$,表示森林中树的数量。
接下来 $N$ 行,每行包含三个整数 $L_i$、$A_i$ 和 $R_i$,分别表示一棵树的最低高度、当前高度和最高高度。
接下来 $N-1$ 行,每行包含两个整数 $u_i$ 和 $v_i$,表示第 $u_i$ 棵树和第 $v_i$ 棵树直接相连。
### 输出格式
对于每个测试用例,输出一行,包含一个整数,表示所有形成的树对中,高度差的绝对值的最小总和。
### 样例输入
```text
4
3 3 4
1 3 5
2 2 2
2 2 2
1 2
2 3
2 4
```
### 样例输出
```text
1
```
### 说明
在测试用例中,我们可以将第二棵树的高度调整为 $2$,这样,所有形成的树对中,高度差的绝对值的总和为 $1$。
### 评测数据范围
$3 \leq N \leq 10^5$,$1 \leq L_i \leq A_i \leq R_i \leq 10^9$,$1 \leq u_i, v_i \leq N$,且 $u_i \neq v_i$。
所有测试用例中,$N$ 的总和不超过 $2 \times 10^5$。