# DP(配るDP)

N = int(eval(input()))

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



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

dp[0] = 0

for i in range(N - 2):

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

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

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

print((dp[N - 1]))

# DP(貰うDP)

N = int(eval(input()))

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



dp = [0] * N

dp[1] = dp[0] + abs(h[1] - h[0])

for i in range(2, N):

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

                dp[i - 2] + abs(h[i] - h[i - 2]))

print((dp[N - 1]))

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

# DP(貰うDP)
N = int(eval(input()))
h = list(map(int, input().split()))
dp = [0] * N
dp[1] = dp[0] + abs(h[1] - h[0])
for i in range(2, N):
    dp[i] = min(dp[i - 1] + abs(h[i] - h[i - 1]), dp[i - 2] + abs(h[i] - h[i - 2]))
print((dp[N - 1]))

-# DP(配るDP) +# DP(貰うDP) -dp = [float("inf")] * N -dp[0] = 0 -for i in range(N - 2): -    dp[i + 1] = min(dp[i + 1], dp[i] + abs(h[i + 1] - h[i])) -    dp[i + 2] = min(dp[i + 2], dp[i] + abs(h[i + 2] - h[i])) -dp[N - 1] = min(dp[N - 1], dp[N - 2] + abs(h[N - 1] - h[N - 2])) +dp = [0] * N +dp[1] = dp[0] + abs(h[1] - h[0]) +for i in range(2, N): +    dp[i] = min(dp[i - 1] + abs(h[i] - h[i - 1]), dp[i - 2] + abs(h[i] - h[i - 2]))