n,k=gets.split.map(&:to_i)
a = gets.split.map(&:to_i)
MOD = 10**9+7
lt = Array.new(n, 0) # それより小さい数の個数
rlt = Array.new(n, 0) # それより右にある小さい数の個数
n.times do |i|
  n.times do |j|
    lt[i] += 1 if a[j] < a[i]
    rlt[i] += 1 if j > i && a[j] < a[i]
  end
end
ans = 0
b = k*k - (1+k)*k/2
n.times do |i|
  ans += b*lt[i]
  ans += k*rlt[i]
  ans %= MOD
end
p ans
  
