#include using namespace std; int xx[1111], yy[1111]; int dp[1111]; bool spec[1111]; int psum[1111]; const int INF = 10000; int get(int xx, int yy) { if (xx > yy) return 0; return psum[yy] - psum[xx - 1]; } int main() { int n, m, k; scanf("%d%d%d", &n, &k, &m); for (int i = 1; i <= k; ++i) { int foo; scanf("%d", &foo); spec[foo] = 1; } for (int i = 1; i <= n; ++i) psum[i] = psum[i - 1] + spec[i]; for (int i = 1; i <= m; ++i) scanf("%d%d", &xx[i], &yy[i]); for (int i = 1; i <= n; ++i) { dp[i] = INF; for (int j = 1; j <= m; ++j) if (yy[j] <= i) if (get(yy[j] + 1, i) == 0) dp[i] = min(dp[i], dp[xx[j] - 1] + 1); if (!spec[i]) dp[i] = min(dp[i], dp[i - 1]); } printf("%d", dp[n]); }