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)