#A1030. 区间求和

区间求和

Description

AliceAlice 最近正在学习前缀和:给定序列 a1ana_1 \sim a_nqq 次询问,每次询问给出 l,rl, r,求 alara_l \sim a_r的和。这样的问题对 AliceAlice 来说已经太简单了,他发现交换一些序列 aa 中的元素的值可以改变询问的结果。

面对这个发现,他提出了一个新的问题:给定序列 a1ana_1 \sim a_nqq 次询问,每次询问给出 l,rl, r,如果可以在执行询问前任意次交换 aa 中两个元素的位置得到 a1ana_1\sim a_n′,所有询问的答案之和最大是多少?一次询问的答案指的是 alara_l \sim a_r的和。

需要注意的是,AliceAlice 只能在开始询问前交换元素,然后求出所有询问的答案之和。

Format

Input

第一行一个整数 TT 表示数据组数,对于每组数据:

第一行两个整数 n,qn,q

第二行 nn 个整数 a1ana_1 \sim a_n

接下来 qq 行,第 ii 行两个整数 li,ril_i, r_i 表示第 ii 次询问的参数。

Output

对于每组数据,输出一行一个答案表示最大的询问答案之和。

Samples

样例输入

2
5 2
1 2 3 4 5
1 4
2 3
2 3
1 1
1 1
1 2
2 2

样例输出

23
4

样例解释

样例解释:对于第一组数据,把a变为2 4 5 3 1即可得到答案之和为23,可以验证没有更大的答案之和。

Limitation

对于30%30\% 的数据,1T10,1n,q101 \leq T \leq 10, 1 \leq n, q \leq 10

对于 60%60\% 的数据,1T10,1n,q10001 \leq T \leq 10, 1 \leq n, q \leq 1000

对于 100%100\% 的数据,$1 \leq T \leq 10^4, 1 \leq n, \sum{n} \leq 2 \times 10^5, 1 \leq q, \sum{q} \leq 2 \times 10^5, 1 \leq a_i \leq 10^5, 1 \leq l \leq r \leq n$