#include #include #define X first #define Y second using namespace std; int D, N, M; int skip[1000 + 10]; pair leave[1000 + 10]; int main() { cin >> D >> N >> M; for(int i = 1; i <= N; ++i) cin >> skip[i]; sort(skip + 1, skip + N + 1); for(int i = 1; i <= M; ++i) cin >> leave[i].X >> leave[i].Y; sort(leave + 1, leave + M + 1); int sol = 0; int at = 1; int i = 1; while(at <= N) { while(i + 1 <= M && skip[at] >= leave[i + 1].X) ++i; int st = leave[i].X; while(i + 1 <= M && leave[i + 1].X == st) i++; int dr = leave[i].Y; while(at <= N && skip[at] <= dr) { ++at; } sol++; i++; } cout << sol << "\n"; return 0; }