import sys
import bisect
n,x = map(int,input().split())
a = list(map(int,sys.stdin.read().split()))
mp = 0
#当aoe消耗>=怪物总数时,全使用单体伤害最少mp
if n<=x:
mp = sum(a)
#其他情况优先使用aoe,直到剩余怪物数量少于消耗aoe的mp
# else:(超时)
# while n>x:
# for i in range(len(a)):
# if a[i]==0:
# n-=1
# else:
# a[i]-=1
# mp+=x
# mp+=sum(a)
else: #其他情况,仅留下最后x个怪物进行单体攻击,之前的怪全群体攻击即可
a.sort()
#剩余怪物数量res_num
res_num = x
#将剩余x之前的怪全群体攻击杀死,消耗如下
mp+=a[-(res_num+1)]*x
#剩余的x个怪单体攻击杀死,减去已经消耗掉的a[-res_num]*res_num血量
mp+=sum(a[n:-res_num-1:-1])-a[-(res_num+1)]*res_num
print(mp)