output_description: Print the inversion number of B, modulo 10^9 + 7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N K
      A_0 A_1 ... A_{N - 1}
attempt: from sys import stdin
  from math import factorial
  
  n, k = map(int, stdin.readline().rstrip().split())
  li = list(map(int, stdin.readline().rstrip().split()))
  li_to = li * 2
  nai = 0
  ato = 0
  for i in range(len(li)):
      for s in range(i + 1, len(li)):
          if li[i] > li[s]:
              nai += 1
      for p in range(len(li), len(li_to)):
          if li[i] > li_to[p]:
              ato += 1
  
  
  def combinations_count(n, r):
      return factorial(n) // (factorial(n - r) * factorial(r))
  
  
  point = 0
  point += (nai * k) + (ato * combinations_count(k, 2))
  print(point % (10**9 + 7))
  
problem_description: Statement
  
  We have a sequence of N integers A~=~A_0,~A_1,~...,~A_{N - 1}.
  
  Let B be a sequence of K \times N integers obtained by concatenating K copies
  of A. For example, if A~=~1,~3,~2 and K~=~2, B~=~1,~3,~2,~1,~3,~2.
  
  Find the inversion number of B, modulo 10^9 + 7.
  
  Here the inversion number of B is defined as the number of ordered pairs of
  integers (i,~j)~(0 \leq i < j \leq K \times N - 1) such that B_i > B_j.
samples: [{"input": "2 2\n    2 1", "output": "3\n    \n\nIn this case, B~=~2,~1,~2,~1. We have:\n\n  * B_0 > B_1\n  * B_0 > B_3\n  * B_2 > B_3\n\nThus, the inversion number of B is 3.\n\n* * *"}, {"input": "3 5\n    1 1 1", "output": "0\n    \n\nA may contain multiple occurrences of the same number.\n\n* * *"}, {"input": "10 998244353\n    10 9 8 7 5 6 3 4 2 1", "output": "185297239\n    \n\nBe sure to print the output modulo 10^9 + 7."}]