#include <bits/stdc++.h>
using namespace std;
int n, q;
long long int h[101000];
long long int f[101000];
int l, r;
stack<pair<long long int, int> > s;
inline long long int get() {
  if (!s.empty()) return s.top().second;
  return l - 1;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n >> q;
  for (int i = 1; i <= n; i++) cin >> h[i];
  for (int i = 1; i < n; i++) f[i] = abs(h[i + 1] - h[i]);
  for (int i = 1; i <= q; i++) {
    cin >> l >> r;
    long long int cvp = 0;
    long long int t = 0;
    for (int j = l; j < r; j++) {
      while (!s.empty() && s.top().first < f[j]) {
        long long int x = s.top().first;
        int y = s.top().second;
        s.pop();
        t -= x * (y - get());
      }
      t += f[j] * (j - get());
      s.push(make_pair(f[j], j));
      cvp += t;
    }
    while (!s.empty()) s.pop();
    cout << cvp << endl;
  }
  return 0;
}
