#include <bits/stdc++.h>
using namespace std;
int a[100010], d[100010], l[100010], r[100010];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n, i, q, f, t;
  long long ans;
  stack<int> s;
  cin >> n >> q;
  for (i = 0; i < n; i++) cin >> a[i];
  for (i = 0; i < n - 1; i++) d[i] = abs(a[i + 1] - a[i]);
  for (i = 0; i < n - 1; i++) {
    if (s.empty())
      s.push(i);
    else {
      while (!s.empty() && d[s.top()] <= d[i]) {
        r[s.top()] = i - 1;
        s.pop();
      }
      s.push(i);
    }
  }
  while (!s.empty()) {
    r[s.top()] = n - 2;
    s.pop();
  }
  for (i = n - 1; i >= 0; i--) {
    if (s.empty())
      s.push(i);
    else {
      while (!s.empty() && d[s.top()] < d[i]) {
        l[s.top()] = i + 1;
        s.pop();
      }
      s.push(i);
    }
  }
  while (!s.empty()) {
    l[s.top()] = 0;
    s.pop();
  }
  while (q--) {
    cin >> f >> t;
    --f, --t;
    ans = 0;
    for (i = f; i < t; i++) {
      ans += (long long)d[i] * (long long)(min(r[i], t - 1) - i + 1) *
             (long long)(i - max(l[i], f) + 1);
    }
    cout << ans << '\n';
  }
  return 0;
}
