#include<iostream>

using namespace std;


typedef struct{
	int i, X, Y, l, sol=0;
}Pereche;
int cap[1010];
int frecv[1010];
int main()
{
	int N, D, M, h;
	int abse[1010];

	Pereche perechi[1010];
	cin>>D>>N>>M;
	int i, x;
	for(i=0; i<N; i++)
	{
		cin>>x;
		abse[x]=1;
	}

	for(i=0; i<M; i++){
		cin>>perechi[i].X>>perechi[i].Y;
		perechi[i].i=i;
		perechi[i].l = perechi[i].Y-perechi[i].X;
		for(h=perechi[i].X;h<=perechi[i].Y; h++)
			if(abse[h]!=0)
				frecv[h]++;
	}
	int j;
	for(i=0; i<1000; i++)
	{
		if(abse[i]==1){
			Pereche maxp;
			int maxi=-1;
			for(j=0; j<M; j++)
			{
				if(perechi[j].X<=i && i<=perechi[j].Y && (maxi==-1 || perechi[maxi].Y<perechi[j].Y))
				{
					maxi=j;
				}
			}

			int k, ok=0;
			if(cap[i]!=0)
			{
				for(k=i+1; k<=perechi[maxi].Y; k++)
					if(abse[k]!=0 && frecv[k]==1)
							ok=1;
				if(ok==1){
					perechi[maxi].sol=1;
				}
			}
			else{
				perechi[maxi].sol=1;
			}
			for(k=i; k<=perechi[maxi].Y; k++)
				if(abse[k]!=0)
					cap[k] = perechi[maxi].Y;
		}

	}
	int sol=0;
	for(i=0; i<M; i++){
		sol+=perechi[i].sol;

	}
	cout<<sol;
	return 0;
}