#CF1909C. Heavy Intervals

Heavy Intervals

C. 重排区间

每个测试的时间限制:1 秒
内存限制:256 兆字节

你拥有 nn 个区间 [l1,r1],[l2,r2],,[ln,rn][l_1, r_1], [l_2, r_2], \dots, [l_n, r_n],满足对每个 ii 都有 li<ril_i < r_i,且所有区间的端点互不相同。

ii 个区间的单位长度权重为 cic_i。因此,第 ii 个区间的总权重为 ci(rili)c_i \cdot (r_i - l_i)

你不喜欢大的权重值,所以希望让所有区间的权重总和尽可能小。你可以执行以下三种操作:

  1. 将数组 ll 中的元素按任意顺序重新排列;
  2. 将数组 rr 中的元素按任意顺序重新排列;
  3. 将数组 cc 中的元素按任意顺序重新排列。

但执行完所有操作后,每个区间必须仍然是合法的(即对每个 ii,必须满足 li<ril_i < r_i)。

:经过操作后,所有区间权重总和的最小可能值是多少?


输入格式

每个测试包含多个测试用例。第一行包含整数 tt1t1041 \le t \le 10^4)——测试用例的数量。接下来是每个测试用例的描述:

  • 每个测试用例的第一行是一个整数 nn1n1051 \le n \le 10^5)——区间的数量。
  • 第二行包含 nn 个整数 l1,l2,,lnl_1, l_2, \dots, l_n1li21051 \le l_i \le 2 \cdot 10^5)——初始区间的左端点。
  • 第三行包含 nn 个整数 r1,r2,,rnr_1, r_2, \dots, r_nli<ri2105l_i < r_i \le 2 \cdot 10^5)——初始区间的右端点。
  • 保证 {l1,l2,,ln,r1,r2,,rn}\{l_1, l_2, \dots, l_n, r_1, r_2, \dots, r_n\} 中所有数互不相同。
  • 第四行包含 nn 个整数 c1,c2,,cnc_1, c_2, \dots, c_n1ci1071 \le c_i \le 10^7)——每个区间单位长度的初始权重。

所有测试用例的 nn 总和不超过 10510^5


输出格式

对于每个测试用例,输出一个整数:经过操作后可能的最小权重总和。


样例输入

2
2
8 3
12 23
100 100
4
20 1 2 5
30 4 3 10
2 3 2 3

样例输出

2400
42

样例解释

第一个测试用例
可以构造
l=[8,3]l = [8, 3]
r=[23,12]r = [23, 12]
c=[100,100]c = [100, 100]
得到两个区间:
[8,23][8, 23],单位权重 100100,总权重 100(238)=1500100 \cdot (23 - 8) = 1500
[3,12][3, 12],单位权重 100100,总权重 100(123)=900100 \cdot (12 - 3) = 900
总和为 24002400。可以证明不存在总和小于 24002400 的方案。

第二个测试用例
可以构造
l=[1,2,5,20]l = [1, 2, 5, 20]
r=[3,4,10,30]r = [3, 4, 10, 30]
c=[3,3,2,2]c = [3, 3, 2, 2]
得到四个区间:
[1,3][1, 3],单位权重 33,总权重 3(31)=63 \cdot (3 - 1) = 6
[2,4][2, 4],单位权重 33,总权重 3(42)=63 \cdot (4 - 2) = 6
[5,10][5, 10],单位权重 22,总权重 2(105)=102 \cdot (10 - 5) = 10
[20,30][20, 30],单位权重 22,总权重 2(3020)=202 \cdot (30 - 20) = 20
总和为 4242。可以证明不存在总和小于 4242 的方案。