import kotlin.math.min fun main() { val builder = StringBuilder() // 解説読んだ val n = readInputLine().toInt() val ys = readInputLine().split(" ").map { it.toLong() }.toLongArray() ys.sort() when(n) { 2 -> builder.appendln(ys[1] - ys[0]) 3 -> builder.appendln(ys[2] - ys[0]) else -> { val dp = LongArray(n) dp[0] = 1_000_000_000_000L dp[1] = ys[1] - ys[0] dp[2] = ys[2] - ys[0] for (i in 3 until n) { dp[i] = min(dp[i - 2] + ys[i] - ys[i - 1], dp[i - 3] + ys[i] - ys[i - 2]) } builder.appendln(dp[n - 1]) } } print(builder.toString()) } fun readInputLine(): String { return readLine()!! }