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: N, K = map(int, input().split())
  A_list = [int(i) for i in input().split()]
  
  # 自分自身の中で、転倒するような数 * N-1
  # 最後の繰り返しは、転倒しないので別途計算
  ## これじゃダメで、転倒数はどんどん減少していくはず。
  
  # 順序が関係するのは最初のブロックだけ
  # あとは、繰り返しになる(繰り返し数が減っていく)
  
  # まず、順序を含めた合算個数を調べる
  count_with_seq = 0
  deal = 0
  for i in range(N):
      ai = A_list[i]
      for k in range(i + 1, N):
          deal += 1
          ak = A_list[k]
          if ai > ak:
              # print(ai,ak)
              count_with_seq += 1
  
  count_without_seq = 0
  for ai in A_list:
      for ak in A_list:
          if ai > ak:
              count_without_seq += 1
  
  # print(count_with_seq,count_without_seq)
  
  # これらの塊の繰り返し数は、
  # 初項：N回
  # 初項以降 : sum(k) (1<=K<=n-1)
  
  total_count = count_with_seq * K
  # print(total_count)
  rep = (1 + (K - 1)) * (K - 1) // 2
  total_count += count_without_seq * rep
  # print(rep)
  print(total_count % 1000000007)
  
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."}]