There are N stones, numbered 1, 2, \ldots, N. For each i (1 \leq i \leq N), the height of Stone i is h_i.  There is a frog who is initially on Stone 1. He will repeat the following action some number of times to reach Stone N:    * If the frog is currently on Stone i, jump to Stone i + 1 or Stone i + 2. Here, a cost of |h_i - h_j| is incurred, where j is the stone to land on.  Find the minimum possible total cost incurred before the frog reaches Stone N.
n=int(input())
l=list(map(int,input().split()))
def frog(l,n):
  dp=[0]*n
  dp[0]=0
  dp[1]=abs(l[1]-l[0])
  for i in range(2,n):
    dp[i]=min(dp[i-1]+ abs(l[i]-l[i-1]),dp[i-2]+abs(l[i]-l[i-2]))
  return dp[n-1]
def frog(l,n):
  dp=[0]*n
  dp[0]=0
  dp[1]=abs(l[1]-l[0])
  for i in range(2,n):
    dp[i]=min(dp[i-1]+ abs(l[i]-l[i-1]),dp[i-2]+abs(l[i]-l[i-2]))
  return dp[n-1]
n=int(input())
l=list(map(int,input().split()))
print(frog(l,n))