#include <iostream>
#include <algorithm>

using namespace std;

int n, skipped, scutiri;
pair<int, int> v[1001];
int sp[1001];
bool checked[1001];

inline bool cmp(const pair<int, int>& a, const pair<int, int>& b) {
    return sp[a.second] - sp[a.first - 1] > sp[b.second] - sp[b.first - 1];
}

int main()
{
    cin >> n >> skipped >> scutiri;
    for (int i = 1, x; i <= skipped; ++i) {
        cin >> x;
        sp[x] = 1;
        checked[x] = 1;
    }
    for (int i = 1; i <= n; ++i) {
        sp[i] += sp[i - 1];
    }
    for (int i = 1; i <= scutiri; ++i) {
        cin >> v[i].first >> v[i].second;
    }
    sort(v + 1, v + 1 + scutiri, cmp);
    int cnt = 0, sc = 0;
    bool ok;
    for (int i = 1; i <= scutiri && cnt < skipped; ++i) {
        ok = 0;
        for (int j = v[i].first; j <= v[i].second; ++j) {
            if (checked[j])
                checked[j] = 0, ok = 1;
        }
        if (ok) {
            cnt += sp[v[i].second] - sp[v[i].first - 1];
            //cout << "aa " << v[i].first << ' ' << v[i].second << '\n';
            sc++;
        }
    }
    cout << sc;
    return 0;
}