#include <bits/stdc++.h>
using namespace std;
string s;
long long a[200005];
long long dp[200005];
long long vamos[200005];
int main() {
  int n, q;
  cin >> n >> q;
  for (int i = (0); i < (n); i++) cin >> a[i], dp[i] = 0;
  int x, y;
  for (int i = (0); i < (q); i++) {
    scanf("%d %d", &x, &y);
    --x;
    --y;
    ++dp[x], --dp[y + 1];
  }
  vamos[0] = dp[0];
  for (int i = (1); i < (n); i++) vamos[i] = vamos[i - 1] + dp[i];
  sort(vamos, vamos + n);
  sort(a, a + n);
  long long ans = 0;
  for (int i = (0); i < (n); i++) ans += a[i] * vamos[i];
  cout << ans << endl;
  return 0;
}
