#include<bits/stdc++.h>

#define ll long long
#define fi first
#define se second
#define sqr(flf) ((flf)*(flf))
#define endl "\n"
#define y1 pisos
#define ld long double

using namespace std;
ll n,m,pos,x,y,pisos,i,ans,a[200000];
vector<ll> v;
int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    //    freopen("input.txt","r",stdin);
    //    freopen("output.txt","w",stdout);
    cin>>n>>m;
    for(i=1; i<=n; i++)
    {
        cin>>a[i];
        a[i]-=1;
    }
    sort(a+1,a+1+n);
    if(a[n]<1000000000-2) a[++n]=1000000000-2;
    for(i=1; i<=m; i++)
    {
        cin>>x>>y>>pos;
        if(x==1) v.push_back(y);
    }
    sort(v.begin(),v.end());
    ans=n+m;
    for(i=1; i<=n; i++)
    {
        x=a[i];
        pos=upper_bound(v.begin(),v.end(),x)-v.begin();
//        cout<<pos<<endl;
        ans=min(ans,(v.size()-pos-1)+i);
    }
    cout<<ans;
    return 0;

}
