implicit none
integer,allocatable,dimension(:)::dp,h
integer i,n,j
 
read(5,*)n
allocate(dp(n),h(n))
read(5,*)(h(i),i=1,n)
 
dp(1)=0
dp(2:n)=100000000000000
 
do j=2,n
dp(j)=min(dp(j),dp(j-1)+abs(h(j)-h(j-1)))
 
if(j>2) then
dp(j)=min(dp(j),dp(j-2)+abs(h(j)-h(j-2)))
endif
enddo
 
write(6,*) dp(n)
 
deallocate(dp,h)
end