#include #include #include using namespace std; int D, n, m; vector E[1010]; bool sick[1010]; int best[1010]; int main() { int i, j, x, st, dr; vector ::iterator it; std::ios_base::sync_with_stdio(false); cin >> D >> n >> m; for(i = 1; i <= n; ++i) { cin >> x; sick[x] = true; } for(i = 1; i <= m; ++i) { cin >> st >> dr; E[dr].push_back(st); } best[0] = 0; for(i = 1; i <= D; ++i) best[i] = 1000000000; for(i = 1; i <= D; ++i) { if(sick[i] == false) best[i] = best[i - 1]; else { for(j = i; j <= D; ++j) { for(it = E[j].begin(); it != E[j].end(); ++it) { if(*it <= i) best[j] = min(best[j], best[*it - 1] + 1); } } } } cout << best[D] << "\n"; return 0; }