package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var n int
fmt.Fscan(in, &n)
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(in, &a[i])
}
sort.Ints(a)
dp := make([][]int, n)
for i := range dp {
dp[i] = make([]int, n)
}
for length := 2; length <= n; length++ {
for l := 0; l+length <= n; l++ {
r := l + length - 1
if dp[l+1][r] < dp[l][r-1] {
dp[l][r] = a[r] - a[l] + dp[l+1][r]
} else {
dp[l][r] = a[r] - a[l] + dp[l][r-1]
}
}
}
fmt.Fprintln(out, dp[0][n-1])
}