#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100010;
int n, q;
int v[MAXN];
long long int ans;
long long int sum;
stack<int, vector<int> > qtd;
stack<int, vector<int> > val;
void clear() {
  ans = sum = 0;
  while (!qtd.empty()) qtd.pop();
  while (!val.empty()) val.pop();
}
void add(int k) {
  int curQtd = 0;
  while (!val.empty()) {
    if (val.top() > k) break;
    long long int cur = val.top();
    cur *= qtd.top();
    sum -= cur;
    curQtd += qtd.top();
    val.pop();
    qtd.pop();
  }
  qtd.push(curQtd + 1);
  val.push(k);
  long long int cur = k;
  cur *= curQtd + 1;
  sum += cur;
}
int main() {
  scanf("%d %d", &n, &q);
  for (int i = 1; i <= n; i++) scanf("%d", &v[i]);
  for (int i = 1; i <= q; i++) {
    int L, R;
    scanf("%d %d", &L, &R);
    clear();
    for (int j = L; j < R; j++) {
      add(abs(v[j] - v[j + 1]));
      ans += sum;
    }
    printf("%lld\n", ans);
  }
}
