/*
TASK:ots
LANG:C++
*/
#include<iostream.h>
#include<stdlib.h>
long arr[1000000][100];
long a[1000000];
long br=0;
void check(long i)
{
if(i==0){br+=arr[i][0];return;}
if(arr[i][0]<arr[i+1][0]){br+=arr[i][0];return;}
br+=arr[i+1][0];
} 
int cmp(const void *a,const void *b)
{return *(int *)a - *(int *)b;}
int main()
{
long i,j,n,k;
cin>>n;
for(i=0;i<n;i++)cin>>a[i];
qsort(a,n,sizeof(a[0]),cmp);
if(n==2){cout<<a[1]-a[0]<<endl;return 0;}
for(i=0;i<n-1;i++)
{k=0;
for(j=i+1;j<n;j++){arr[i][k]=a[j]-a[i];k++;}
}
for(i=1;i<n-3;i++)check(i);
br+=arr[n-2][0]+arr[0][0];
cout<<br<<endl;
return 0;
}
