#include <bits/stdc++.h>
using namespace std;
int min(int a, int b) { return a < b ? a : b; }
int main() {
  int dp[2][5001];
  int k, n;
  scanf("%d%d", &k, &n);
  int t[500001];
  for (int i = 0; i < 3; i++) {
    for (int j = 1; j <= k; j++) {
      dp[i][j] = 1000000001;
    }
  }
  for (int i = 1; i <= n; i++) {
    scanf("%d", &t[i]);
  }
  sort(t + 1, t + n + 1);
  for (int i = 1; i < n; i++) {
    t[i] = t[i + 1] - t[i];
  }
  n--;
  dp[1][1] = t[1];
  dp[2][1] = min(t[1], t[2]);
  for (int i = 3; i <= n; i++) {
    for (int j = 1; j <= k && j <= ceil(i * 1.0 / 2); j++) {
      dp[i % 3][j] = min(dp[(i - 1) % 3][j], dp[(i - 2) % 3][j - 1] + t[i]);
    }
  }
  printf("%d\n", dp[n % 3][k]);
  return 0;
}
