# dp[i]: i+1にくるまでにかかったコストの最小値

N = int(eval(input()))

h = list(map(int, input().split()))

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

dp[0] = 0

for i in range(N-1):

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

    if i < N-2:

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

print((dp[-1]))
N = int(eval(input()))

h = list(map(int, input().split(" ")))



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

dp[0] = 0



for i in range(N-1):

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

    if i + 2 < N:

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



print((dp[-1]))
# dp[i]: i+1にくるまでにかかったコストの最小値
N = int(eval(input()))
h = list(map(int, input().split()))
dp = [float("inf") for _ in range(N)]
dp[0] = 0
for i in range(N - 1):
    dp[i + 1] = min(dp[i + 1], dp[i] + abs(h[i] - h[i + 1]))
    if i < N - 2:
        dp[i + 2] = min(dp[i + 2], dp[i] + abs(h[i] - h[i + 2]))
print((dp[-1]))

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

-# dp[i]: i+1にくるまでにかかったコストの最小値 -h = list(map(int, input().split())) -dp = [float("inf") for _ in range(N)] +h = list(map(int, input().split(" "))) +dp = [float("inf")] * (N) -    dp[i + 1] = min(dp[i + 1], dp[i] + abs(h[i] - h[i + 1])) -    if i < N - 2: -        dp[i + 2] = min(dp[i + 2], dp[i] + abs(h[i] - h[i + 2])) +    dp[i + 1] = min(dp[i + 1], abs(h[i + 1] - h[i]) + dp[i]) +    if i + 2 < N: +        dp[i + 2] = min(dp[i + 2], abs(h[i + 2] - h[i]) + dp[i])