output_description: Print the letter that follows C in alphabetical order.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      C
attempt: # import bisect
  # import heapq
  # from copy import deepcopy
  # from collections import deque
  # from collections import Counter
  # from itertools import accumulate
  # from itertools import permutations
  # import numpy as np
  # import math
  
  n, k = map(int, input().split())
  a = list(map(int, input().split()))
  # n = int(input())
  mod = 10**9 + 7
  a.sort(reverse=True)
  # print(a)
  ans = 0
  
  
  def C(n, k, mod):
      if n == 0 and k == 0:
          return 1
      if n < k or k < 0:
          return 0
      x, y = 1, 1
      while k > 0:
          x *= n
          y *= k
          n, k = n - 1, k - 1
  
      return x * pow(y, mod - 2, mod) % mod
  
  
  for i in range(0, n - k + 1):
      ans += a[i] * C(n - i - 1, k - 1, mod)
      ans %= mod
  
  a.reverse()
  for i in range(0, n - k + 1):
      ans -= a[i] * C(n - i - 1, k - 1, mod)
      ans %= mod
  
  
  print(ans)
  
problem_description: Statement
  
  Given is a lowercase English letter C that is not `z`. Print the letter that
  follows C in alphabetical order.
samples: [{"input": "a", "output": "b\n    \n\n`a` is followed by `b`.\n\n* * *"}, {"input": "y", "output": "z\n    \n\n`y` is followed by `z`."}]