#include <bits/stdc++.h>
using namespace std;
const int inf = (2e9) + 9;
const int maxn = (2e5) + 9;
const long long mod = (1e9) + 7;
int v[maxn], p[maxn];
int main() {
  int n;
  scanf("%d", &n);
  int q;
  scanf("%d", &q);
  int i, a, b;
  for (i = 0; i < n; i++) {
    scanf("%d", v + i);
  }
  for (i = 0; i < q; i++) {
    scanf("%d%d", &a, &b);
    p[a - 1]++;
    p[b]--;
  }
  for (i = 1; i < n; i++) {
    p[i] += p[i - 1];
  }
  sort(p, p + n);
  sort(v, v + n);
  long long ans = 0;
  for (i = 0; i < n; i++) {
    ans += (1LL * p[i] * v[i]);
  }
  printf("%I64d\n", ans);
  return 0;
}
