#include #include #include using namespace std; #define maxn 100100 #define inf (1000000000) int d, n, m; int f[maxn]; int dp[maxn]; vector v[maxn]; int main() { scanf("%d%d%d", &d, &n, &m); for(int i=1; i<=n; ++i) { int x; scanf("%d", &x); ++f[x]; } for(int i=1; i<=d; ++i) { dp[i]=inf; f[i]+=f[i-1]; } for(int i=1; i<=m; ++i) { int x, y; scanf("%d%d", &x, &y); v[x].push_back(y); } int sol=0, mxfar=-1, pt=1, mxc = -1; for(int i=1; i<=d; ++i) { if(f[i]==f[i-1]) dp[i]=min(dp[i], dp[i-1]); for(int j=0; j