#include <bits/stdc++.h>
using namespace std;
const long double PI = 3.1415926535897932384626433832795;
const long double EPS = 1e-11;
int n, q, l, r;
int a[100100];
int b[100100];
signed long long ans;
pair<int, int> t[400400];
int ds;
void build(int ind, int L, int R) {
  if (L == R) {
    t[ind].first = b[L];
    t[ind].second = L;
    if (L == 0) ds = ind;
  } else {
    int M = (L + R) / 2;
    build(ind * 2, L, M);
    build(ind * 2 + 1, M + 1, R);
    if (t[ind * 2].first > t[ind * 2 + 1].first)
      t[ind] = t[ind * 2];
    else
      t[ind] = t[ind * 2 + 1];
  }
}
pair<int, int> mmax(int ind, int l, int r, int L, int R) {
  if (L > R) return make_pair(-1, -1);
  if (L == l && R == r) return t[ind];
  int mm = (l + r) >> 1;
  return max(mmax(ind << 1, l, mm, L, min(R, mm)),
             mmax((ind << 1) + 1, mm + 1, r, max(L, mm + 1), R));
}
void tadd(int first, pair<int, int> zn) {
  first += ds;
  t[first] = zn;
  first /= 2;
  while (first) {
    t[first] = max(zn, t[first]);
    first /= 2;
  }
}
pair<int, int> tsum(int l, int r) {
  pair<int, int> s = make_pair(-1, -1);
  l += ds;
  r += ds;
  while (l <= r) {
    if (l & 1) s = max(s, t[l]);
    if (!(r & 1)) s = max(s, t[r]);
    l = (l + 1) / 2;
    r = (r - 1) / 2;
  }
  return s;
}
int uk, len;
pair<int, int> st[200100], pos;
void proc() {
  l = st[uk].first;
  r = st[uk].second;
  uk++;
  if (l == r) {
    ans += b[l];
    return;
  }
  pos = tsum(l, r);
  if (pos == make_pair(-1, -1)) return;
  ans += 1ll * b[pos.second] * (pos.second - l + 1) * (r - pos.second + 1);
  if (l <= pos.second - 1) st[len++] = make_pair(l, pos.second - 1);
  if (pos.second + 1 <= r) st[len++] = make_pair(pos.second + 1, r);
}
int main() {
  cout << setiosflags(ios::fixed) << setprecision(10);
  cin >> n >> q;
  for (int i = 0; i < (n); i++) {
    cin >> a[i];
    if (i > 0) b[i - 1] = abs(a[i] - a[i - 1]);
  }
  ds = 131072;
  for (int i = 0; i < (n - 1); i++) tadd(i, make_pair(b[i], i));
  for (int i = 0; i < (q); i++) {
    cin >> l >> r;
    l--, r--;
    r--;
    ans = 0;
    uk = 0, len = 0;
    st[len++] = make_pair(l, r);
    while (uk < len) proc();
    cout << ans << endl;
  }
  return 0;
}
