#include <bits/stdc++.h>
using namespace std;
int arr[200005], aux[200005];
long long int b[200005];
int main() {
  int n, q, i, j, l, r;
  long long int res = 0, sum = 0;
  scanf("%d%d", &n, &q);
  for (i = 0; i < n; i++) scanf("%d", &arr[i]);
  sort(arr, (arr + n));
  for (i = 0; i < q; i++) {
    scanf("%d%d", &l, &r);
    l--, r--;
    aux[l]++;
    if (r < n - 1) aux[r + 1]--;
  }
  for (i = 0; i < n; i++) {
    sum += aux[i];
    b[i] = sum;
  }
  sort(b, (b + n));
  for (i = 0; i < n; i++) {
    res = res + arr[i] * b[i];
  }
  cout << res << '\n';
  return 0;
}
