#include <iostream>
#include <bits/stdc++.h>
#include <algorithm>
#include <array>
using namespace std;
long long int memopad[2000][2000];
long long int mind(int l,int r,long long int arr[])
{
  if(l==r)
   return 0;

  if(memopad[l][r]!=-1)
     return memopad[l][r];

  memopad[l][r]=arr[r]-arr[l]+min(mind(l+1,r,arr),mind(l,r-1,arr));
  return memopad[l][r];
}
int main()
{



    memset(memopad, -1, sizeof(memopad));
    int n=0;
    vector<int> v;

    cin>>n;
    long long int arr[n];
    for(int j=0;j<n;j++)
    {
      cin>>arr[j];
    }
    sort(arr, arr + n);
    if(n==1)
      cout<<n-1;
    else if(n==2)
      cout<<arr[1]-arr[0];
    else
    { memopad[0][n-1]=mind(0,n-1,arr);
      cout<<memopad[0][n-1]<<endl;

  }


return 0;
}
