n,k = gets.split.map(&:to_i)
a = gets.split.map(&:to_i)
a.sort!.reverse!
ans = 0
com = [1]
mod = 1000000007
(1).upto(n-k+1) do |i|
    ans += (a[n-k+1-i]*com[i-1])%mod
    ans -= (a[i+k-2]*com[i-1])%mod
    com << com[i-1] * (i+k-1) / i % mod
end
puts ans % mod