func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long int mod = 1e9 + 7;   long long int t, n, m, a[1000005] = {0}, d[1000005], b[1000005];   stack<long long int> s;   int main() {     ios_base::sync_with_stdio(0);     cin.tie(NULL);     cout.tie(NULL);     long long int i, j, k, x, y;     cin >> n >> m;     for (i = 1; i <= n; i++) cin >> a[i];     for (i = 1; i < n; i++) d[i] = abs(a[i + 1] - a[i]);     for (i = 1; i < n; i++) {       while (!s.empty() && d[s.top()] < d[i]) s.pop();       a[i] = (s.empty()) ? 0 : s.top();       s.push(i);     }     while (!s.empty()) s.pop();     for (i = n - 1; i >= 1; i--) {       while (!s.empty() && d[s.top()] <= d[i]) s.pop();       b[i] = (s.empty()) ? n : s.top();       s.push(i);     }     while (m--) {       long long int l, r;       cin >> l >> r;       long long int ans = 0;       for (i = l; i < r; i++) {         x = i - max(a[i], l - 1);         y = min(b[i], r) - i;         ans += (x * y * d[i]);       }       cout << ans <<   n ;     }     return 0;   }   