#include #include #include using namespace std; pair a[100004]; int d,n,m,i,p,u,nr,Max,b[1004]; int main() { scanf ("%d %d %d", &d, &n, &m); for (i=1;i<=n;i++) scanf ("%d", &b[i]); sort (b+1,b+n+1); for (i=1;i<=m;i++) scanf ("%d %d", &a[i].first, &a[i].second); sort (a+1,a+n+1); a[1].first=a[1].first; a[1].second=a[1].second; nr=1; for (i=2;i<=m;i++) { if (a[i].second>a[nr].second) { a[++nr].first=a[i].first; a[nr].second=a[i].second; } } m=nr; p=1; u=1; nr=0; Max=0; while (p<=n) { while (u<=m) { if (a[u].first>b[p]) break; else Max=a[u].second; u++; } while (p<=n) { if (b[p]>Max) break; p++; } nr++; } printf ("%d\n", nr); return 0; }