#S1003A. 差值的绝对值

差值的绝对值

我们定义一个数组的价值是这个数组的所有数字两两组合的差值的绝对值之和。例如 [1,2,3,4],数字两两组合共有六组:[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]。的绝对值分别是 1、2、3、1、2、1,差值的绝对值之和为 10,所以数组 [1,2,3,4] 的价值为 10。

nn 个数字,白浅妹妹从中选了 kk 个数字组成了一个新的数组。

白浅妹妹有很多种选择数字的方法,求所有方法生成的新数组的价值之和。由于答案可能很大,你只需要输出答案对 109+710^9+7 取模之后的结果就可以啦~

输入格式

第一行输入两个正整数 n,kn,k,表示数字的个数和每次选择的数字个数。

接下来一行包含 nn 个正整数,其中第 ii 个数字记为 aia_i

输出格式

输出一行一个正整数表示答案。

样例输入

4 2
1 2 3 4

样例输出

10

样例输入2

4 3
1 2 3 4

样例输出2

20

测试点说明

测试点编号 nn \leq 特殊性质
1-2 10 实际答案小于 109+710^9+7,即无需取模
3-4
5-6 200
7-8 2000
9-10 200000

对于所有的测试点,有 1kn2105,1ai1061 \leq k \leq n \leq 2*10^5, 1 \leq a_i \leq 10^6