fun main(args: Array<String>) {
    val n = readLine()!!.toInt()
    val inputs = readLine()!!.split(" ").map { it.toInt() }

    // 柱問題と一緒，その柱に至る最小の移動コストを左から順に記録しておく

    val costs = IntArray(n)

    for (i in 0 until n) {
        if (i == 0 ) {
            costs[i] = 0
            continue
        }

        if ( i == 1 ) {
            costs[i] = Math.abs(inputs[1] - inputs[0])
            continue
        }

        val costsM1 = costs[i-1] +  Math.abs(inputs[i] - inputs[i-1])
        val costSM2 = costs[i-2] +  Math.abs(inputs[i] - inputs[i-2])

        costs[i] = Math.min(costsM1, costSM2)
    }

    println(costs[n-1])
}