#include <bits/stdc++.h>
const long long int inf = 1e9 + 7;
using namespace std;
long long int fac(long long int x) {
  long long int p = 1;
  for (long long int i = 1; i <= x; i++) {
    p = p * i;
    p = p % inf;
  }
  return p;
}
long long int power(long long int a, long long int n) {
  long long int ans = 1;
  while (n > 0) {
    if (n & 1) {
      ans *= a;
    }
    a = a * a;
    n >>= 1;
  }
  return ans;
}
bool check(vector<long long int> v, long long int k) {
  long long int x = 1;
  for (int i = 0; i < v.size(); i++) {
    x = x * v[i];
  }
  if (x >= k) {
    return true;
  } else {
    return false;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long int n, q;
  cin >> n >> q;
  vector<int> v;
  for (int i = 0; i < n; i++) {
    int c;
    cin >> c;
    v.push_back(c);
  }
  sort(v.begin(), v.end());
  int arr[200005] = {};
  for (int i = 0; i < q; i++) {
    int l, r;
    cin >> l >> r;
    l--;
    r--;
    arr[l]++;
    if (r < n - 1) {
      arr[r + 1]--;
    }
  }
  int b = arr[0];
  for (int i = 1; i < 200005; i++) {
    arr[i] += b;
    b = arr[i];
  }
  sort(arr, arr + n);
  long long int ans = 0;
  for (int i = 0; i < n; i++) {
    ans += (long long int)v[i] * (long long int)arr[i];
  }
  cout << ans << endl;
}
