#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
long long int n, m;
cin >> n >> m;
vector<long long> arr(n);
vector<long long> s(m);
vector<long long> e(m);
for (long long i = 0; i < n; i++) {
cin >> arr[i];
}
for (long long i = 0; i < m; i++) {
cin >> s[i] >> e[i];
}
sort(s.begin(), s.end());
sort(e.begin(), e.end());
long long total_show = 0;
for (long long i = 0; i < n; i++) {
long long started = upper_bound(s.begin(), s.end(), arr[i]) - s.begin();
long long ended = lower_bound(e.begin(), e.end(), arr[i]) - e.begin();
total_show += started - ended;
}
cout << total_show;
return 0;
}