#include <bits/stdc++.h>
using namespace std;
int n;
long long A[1000100];
long long DP[2][1000100];
int main() {
  cin >> n;
  for (int __z = 0; __z < n; __z++) cin >> A[__z];
  ;
  for (int pos = n - 1; pos >= 1; pos--) {
    DP[0][pos] = max(DP[1][pos + 1], DP[0][pos + 1]);
    if (A[pos] >= A[pos - 1]) {
      DP[0][pos] = max(DP[0][pos], A[pos] - A[pos - 1] + DP[0][pos + 1]);
    }
    DP[1][pos] = max(DP[1][pos + 1], DP[0][pos + 1]);
    if (A[pos] <= A[pos - 1]) {
      DP[1][pos] = max(DP[1][pos], A[pos - 1] - A[pos] + DP[1][pos + 1]);
    }
  }
  cout << max(DP[0][1], DP[1][1]) << endl;
  return 0;
}
