#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; }