import sys

sys.setrecursionlimit(1000000)



# 入力

N = int(eval(input()))

H = [int(i) for i in input().split()]



# メモ用のDPテーブルを生成

dp = [float("inf") for i in range(N)]



# 足場iにたどり着く最初コストを返す

def rec(i):

    # ベースケースをセット

    if i == 0:

        return 0

    

    # メモをチェック

    if dp[i] < float("inf"):

        return dp[i]

    

    # i-1から遷移する場合

    cost = rec(i-1) + abs(H[i] - H[i-1])

    # i-2から遷移する場合

    if i > 1:

        cost = min(cost, rec(i-2) + abs(H[i] - H[i-2]))

    

    # 結果をメモしてから返す

    dp[i] = cost

    return cost



print((rec(N-1)))
N = int(eval(input()))

H = [int(i) for i in input().split()]



dp = [float("inf")] * N

dp[0], dp[1] = 0, abs(H[1]-H[0])

for i in range(2, N):

    dp[i] = min(dp[i], dp[i-1]+abs(H[i]-H[i-1]), dp[i-2]+abs(H[i]-H[i-2]))

    

print((dp[N-1]))
import sys

sys.setrecursionlimit(1000000)
# 入力
N = int(eval(input()))
H = [int(i) for i in input().split()]
# メモ用のDPテーブルを生成
dp = [float("inf") for i in range(N)]
# 足場iにたどり着く最初コストを返す
def rec(i):
    # ベースケースをセット
    if i == 0:
        return 0
    # メモをチェック
    if dp[i] < float("inf"):
        return dp[i]
    # i-1から遷移する場合
    cost = rec(i - 1) + abs(H[i] - H[i - 1])
    # i-2から遷移する場合
    if i > 1:
        cost = min(cost, rec(i - 2) + abs(H[i] - H[i - 2]))
    # 結果をメモしてから返す
    dp[i] = cost
    return cost


print((rec(N - 1)))

N = int(eval(input()))
H = [int(i) for i in input().split()]
dp = [float("inf")] * N
dp[0], dp[1] = 0, abs(H[1] - H[0])
for i in range(2, N):
    dp[i] = min(
        dp[i], dp[i - 1] + abs(H[i] - H[i - 1]), dp[i - 2] + abs(H[i] - H[i - 2])
    )
print((dp[N - 1]))

-import sys - -sys.setrecursionlimit(1000000) -# 入力 -# メモ用のDPテーブルを生成 -dp = [float("inf") for i in range(N)] -# 足場iにたどり着く最初コストを返す -def rec(i): -    # ベースケースをセット -    if i == 0: -        return 0 -    # メモをチェック -    if dp[i] < float("inf"): -        return dp[i] -    # i-1から遷移する場合 -    cost = rec(i - 1) + abs(H[i] - H[i - 1]) -    # i-2から遷移する場合 -    if i > 1: -        cost = min(cost, rec(i - 2) + abs(H[i] - H[i - 2])) -    # 結果をメモしてから返す -    dp[i] = cost -    return cost - - -print((rec(N - 1))) +dp = [float("inf")] * N +dp[0], dp[1] = 0, abs(H[1] - H[0]) +for i in range(2, N): +    dp[i] = min( +        dp[i], dp[i - 1] + abs(H[i] - H[i - 1]), dp[i - 2] + abs(H[i] - H[i - 2]) +    ) +print((dp[N - 1]))