/*
TASK:ots
LANG:C++
*/

#include <iostream>
using namespace std;

int main()
{
 int n,i,total=0; cin>>n; int points[n];
 for (i=0;i<n;i++) cin>>points[i];
 sort(points,points+n);
 for (i=1;i<n;i++) total+=points[i]-points[i-1];
 if (n==1)
 {
  cout<<0<<endl;
  return 0;
 }
 if (n==2)
 {
  cout<<points[1]-points[0]<<endl;
  return 0;
 }
 if (n==3)
 {
  cout<<points[1]-points[0]+points[2]-points[1]<<endl;
  return 0;
 }
 int dp[n];
 dp[0]=-1; dp[1]=points[1]-points[0]; dp[2]=dp[1]+points[2]-points[1];
 for (i=3;i<n;i++)
 {
  dp[i]=2000000002;
  if (dp[i-2]+points[i]-points[i-1]<dp[i]) dp[i]=dp[i-2]+points[i]-points[i-1];
  if (i-4>0 && dp[i-3]+points[i]-points[i-1]+points[i-1]-points[i-2]<dp[i])
   dp[i]=dp[i-3]+points[i]-points[i-1]+points[i-1]-points[i-2];
 } 
 cout<<dp[n-1]<<endl;
 return 0;
}
