/*求n个数中最大k个数之和,本题核心思想是位图排序(详见编程珠玑第一章)*/
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define MAXV 100001
unsigned long long a[MAXV];
int main(){
int n, k, max_v, val;
unsigned long long sum;
while(~scanf("%d %d",&n,&k)){
max_v = 0, sum = 0, memset(a,0,sizeof(a));
for(int i=0; i<n; i++){
scanf("%d",&val); a[val]++;
max_v = max(max_v,val);
}
for(int i=max_v; i>=0 && k; i--){
if(a[i]==0) continue;
if(a[i]<k){
sum += a[i]*i; k -= a[i];
}else{
sum += k*i; k = 0;
}
}
printf("%llu\n",sum);
}
return 0;
}