#include<bits/stdc++.h>
#include <cmath>
#include <complex>
using namespace std;
#define ll long long
#define fast ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define dcm(a) setprecision(a)<<fixed
ll const md= 1000000007;
#define clr(memo, a) memset(memo,a,sizeof(memo))
#define PI acos(-1)
typedef complex<double> point;
double EPS=1e-9;
int dcmp(double x, double y) { return fabs(x-y) <= EPS ? 0 : x < y ? -1 : 1; }
ll fastpower(ll x,ll y){
ll res=1;
while(y){
if(y&1)
res*=x;
res%=md;
y >>= 1;
x*=x;
x%=md;
}
return res;
}
ll inv(ll x){
return fastpower(x,md-2);
}
#define X real()
#define Y imag()
#define angle(a) (atan2((a).imag(), (a).real()))
#define vec(a,b) ((b)-(a))
#define same(p1,p2) (dp(vec(p1,p2),vec(p1,p2)) < EPS)
#define dpg(a,b) ( (conj(a)*(b)).real() ) // a*b cos(T), if zero -> prep
#define cp(a,b) ( (conj(a)*(b)).imag() ) // a*b sin(T), if zero -> parllel
#define length(a) (hypot((a).imag(), (a).real()))
#define normalize(a) (a)/length(a)
#define rotateO(p,ang) ((p)*exp(point(0,ang)))
#define rotateA(p,ang,about) (rotateO(vec(about,p),ang)+about)
#define reflectO(v,m) (conj((v)/(m))*(m))
int const N=2e5+5;
bool p[N];
int a[N];
void solve()
{
int n,m;
cin>>n>>m;
int mx=0;
for(int i=0;i<n;i++){
cin>>a[i];
mx=max(mx,a[i]);
}
sort(a,a+n);
for(int i=0;i<m;i++){
int x,y;
cin>>x>>y;
p[y]=1;
}
ll ans=0;
for(int i=mx;i>=1;i--){
int x=lower_bound(a,a+n,i)-a;
ll cnt=(ll)(n-x);
if(!p[i])
ans+=cnt;
}
cout<<ans<<endl;
}
int main(){
fast;
int t=1;
//cin>>t;
while(t--){
solve();
}
return 0;
}
Copy