#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=1e9+7;
const int maxn=5e6+5;
const int maxm=1e6;
ll sum;
int a[maxn];
ll q_sort(int l, int r, int k) {
if (l > r) { return 0; }
int p = rand() % (r - l + 1) + l;
int x = a[p];
swap(a[r], a[p]);
int i = l, j = r;
while(i < j) {
while(i < j && a[i] < x) i++;
if(i < j) { swap(a[i],a[j]); j--; }
while(i < j && a[j] > x) j--;
if(i < j) { swap(a[i],a[j]); i++; }
}
swap(a[i], x);
ll sum = 0;
for (int j = i; j <= r; j++) sum += a[j];
if (r - i >= k) {
sum = q_sort(i + 1, r, k);
} else if (k > r - i + 1) {
sum += q_sort(l, i - 1, k - (r - i + 1));
}
return sum;
}
int main() {
int n, k;
srand(time(0));
scanf("%d%d", &n, &k);
for (int i = 1; i <= n; i++) {
scanf("%d", &a[i]);
}
printf("%lld\n", q_sort(1, n, k));
return 0;
}