#include <iostream>
#include <algorithm>

using namespace std;

int i,j,z,n,m,d;

int a[1010];
int x[1010];
int ac[1010];

struct B{
int s,f;

bool operator< (const B a) const
{
    return s<a.s;
}
};

B b[1010];

int main()
{

    cin>>n>>m>>d;

    for(i=1;i<=m;i++)
        cin>>a[i];
    for(i=1;i<=d;i++)
    {
        cin>>b[i].s;
        cin>>b[i].f;
    }

    sort(b+1,b+1+d);

    sort(a+1,a+1+m);

    j=1;
    for(i=1;i<=n;i++)
    {
        x[i]=x[i-1];
        for(;j<=d;j++)
        {
            if(b[j].s>i)
                break;
            x[i]=max(x[i],b[j].f);
        }
    }
    for(i=1;i<=m;i++)
    {
        if(!ac[i])
        {
            z++;
            for(j=i;j<=m;j++)
            {
                if(a[j]>x[a[i]])
                    break;
                ac[j]=true;
            }
        }
    }
    cout<<z;


    return 0;
}