#include <bits/stdc++.h>
using namespace std;
const int maxn = 300007, maxk = 5007;
int n, k;
int a[maxn];
int zusz, s, d;
int dp[maxk][maxk];
int main() {
  scanf("%d%d", &n, &k);
  for (int i = 0; i < n; i++) scanf("%d", a + i);
  for (int i = 0; i < maxk; i++)
    for (int j = 0; j < maxk; j++) dp[i][j] = (2147483647 - 214748 + 3647);
  sort(a, a + n);
  zusz = n / k;
  d = n % k;
  s = k - d;
  dp[0][0] = 0;
  for (int i = 0; i <= s; i++)
    for (int j = 0; j <= d; j++) {
      int cc = i * zusz + j * (zusz + 1);
      if (i != s)
        dp[i + 1][j] = min(dp[i + 1][j], dp[i][j] + a[cc + zusz - 1] - a[cc]);
      if (j != d)
        dp[i][j + 1] = min(dp[i][j + 1], dp[i][j] + a[cc + zusz] - a[cc]);
    }
  printf("%d\n", dp[s][d]);
}
