private var N: Int = 0
private var h: List<Int> = emptyList()
private var INF = Long.MAX_VALUE
private val memo = mutableMapOf<Int, Long>()

fun main(args: Array<String>) {
    N = readLine()!!.toInt()
    h = readLine()!!.split(" ").map(String::toInt)

    println(jump(N - 1))

}

private fun jump(i: Int): Long {

    if (memo.containsKey(i)) {
        return memo[i]!!
    }

    if (i == 0) {
        return 0
    }

    var res = INF

    // 足場 i-1 から来た場合
    res = Math.min(res, jump(i - 1) + Math.abs(h[i] - h[i - 1]))

    // 足場 i-2 から来た場合
    if (i > 1) {
        res = Math.min(res, jump(i - 2) + Math.abs(h[i] - h[i - 2]))
    }

    memo[i] = res
    return res
}
