#abc151e. [abc151_e]Max-Min Sums

[abc151_e]Max-Min Sums

問題文

有限個の整数からなる集合 XX に対し f(X)=maxXminXf(X)=\\max X - \\min X と定義します。

NN 個の整数 A1,...,ANA_1,...,A_N が与えられます。

このうち KK 個を選び、それらからなる集合を SS とします。同じ値であっても添字が異なる要素を区別すると、そのような選び方は NCK{}_N C_K 通りありますが、その全てについての f(S)f(S) の合計を求めてください。

答えは非常に大きくなる可能性があるので、bmod109+7\\bmod 10^9+7 で出力してください。

制約

  • 1leqNleq1051 \\leq N \\leq 10^5
  • 1leqKleqN1 \\leq K \\leq N
  • Aileq109|A_i| \\leq 10^9

入力

入力は以下の形式で標準入力から与えられる。

NN KK A1A_1 ...... ANA_N

出力

答えを bmod109+7\\bmod 10^9+7 で出力せよ。


入力例 1

4 2
1 1 3 4

出力例 1

11

SS の選び方は $\\{1,1\\},\\{1,3\\},\\{1,4\\},\\{1,3\\},\\{1,4\\},\\{3,4\\}$ の 66 通りあり (ふたつの 11 は区別します)、f(S)f(S) はそれぞれ 0,2,3,2,3,10,2,3,2,3,1 となるので、合計は 1111 です。


入力例 2

6 3
10 10 10 -10 -10 -10

出力例 2

360

SS の選び方は 2020 通りあり、そのうち 1818 通りで f(S)=20f(S)=2022 通りで f(S)=0f(S)=0 となります。


入力例 3

3 1
1 1 1

出力例 3

0

入力例 4

10 6
1000000000 1000000000 1000000000 1000000000 1000000000 0 0 0 0 0

出力例 4

999998537

合計は bmod109+7\\bmod 10^9+7 で出力してください。