#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, q;
  cin >> n >> q;
  vector<long long> arr(n);
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
  }
  int a, b;
  vector<long long> qarr(n, 0);
  for (int i = 0; i < q; i++) {
    cin >> a >> b;
    qarr[a - 1] = qarr[a - 1] + 1;
    if (b <= n - 1) {
      qarr[b] = qarr[b] - 1;
    }
  }
  for (int i = 1; i < n; i++) {
    qarr[i] = qarr[i - 1] + qarr[i];
  }
  sort(qarr.begin(), qarr.end());
  sort(arr.begin(), arr.end());
  long long ans = 0;
  for (int i = 0; i < n; i++) {
    ans = ans + qarr[i] * arr[i];
  }
  cout << ans << endl;
  return 0;
}
