#include<bits/stdc++.h>
using namespace std;
const int MAXX=500 + 5;
const int INF = 0x7fffffff;
int n , m;
int nm , cnt , minn , Ans;
int a[MAXX] , dp[MAXX] , mx[MAXX] , s[MAXX];
int main() {
scanf("%d %d",&n,&m);
for (int i=1; i<=n; i++) {
scanf("%d",&a[i]);
}
stable_sort(a + 1 , a + n + 1);//排序
nm = a[n] + m;
cnt = 1;
for(int i=1; i<=nm; i++) {
mx[i] = mx[i-1];
s[i] = s[i-1];
while(a[cnt] <= i) {
mx[i]++ ;
s[i] += a[cnt];
cnt++ ;
}
}
for(int i=0; i<m; i++ ) {
dp[i] = s[i];
}
for(int i=m; i<=nm; i++) {
if(mx[i] == mx[i - m]) {
dp[i] = dp[i - m];
}
else
{
minn = INF;
for(int j=max(0,i-2*m); j<=i-m; j++) {
minn = min(minn , dp[j] + (mx[i] - mx[j]) * i - (s[i] - s[j]));
}
dp[i] = minn;
}
}
Ans = INF;
for(int i=a[n]; i<nm; i++ ) {
Ans = min(Ans , dp[i]);
}
cout << Ans;
}