#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef vector<long long> vl;
#define pb push_back
#define ff first
#define ss second
#define forn(n) for (int i = 0; i < n; i++)
#define forc(cn, abc) ((cn).find(abc) != (cn).end())
#define yes cout << "YES\n";
#define no cout << "NO\n";
#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()
#define poin(x) cout << fixed << setprecision(x);

vector<ll> dp(100005, 1e18), h(100005);

ll f(ll x)
{
    if (x == 0)
        return 0;

    if (dp[x] != 1e18)
    {
        return dp[x];
    }

    ll costfromX1 = f(x - 1) + abs(h[x] - h[x - 1]);

    if (x == 1)
        return costfromX1;

    ll costfromX2 = f(x - 2) + abs(h[x] - h[x - 2]);

    return dp[x] = min(costfromX1, costfromX2);
}

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int n;
    cin >> n;

    forn(n)
    {
        cin >> h[i];
    }

    cout << f(n - 1) << endl;

    return 0;
}