#include <bits/stdc++.h>
#define MAXM 1000005
using namespace std;
struct AIRPORT {
int a, b;
}f1[MAXM], f2[MAXM];
inline bool cmp(AIRPORT a, AIRPORT b) {
return a.a < b.a;
}
int n, m1, m2, ans = -1, d1[MAXM], d2[MAXM], top1, top2;
int main() {
cin >> n >> m1 >> m2;
for(int i = 1; i <= m1; i++)
cin >> f1[i].a >> f1[i].b;
for(int i = 1; i <= m2; i++)
cin >> f2[i].a >> f2[i].b;
sort(f1, f1 + m1, cmp);
sort(f2, f2 + m2, cmp);
for(int i = 1; i <= n; i++) {
int num = 0, t = 0;
for(int j = 1; j <= m1; j++) {
if(f1[j].a < t)
continue;
t = f1[j].b;
f1[j].a = -1;
f1[j].b = -1;
num++;
}
d1[++top1] = d1[top1-1] + num;
}
for(int i = 1; i <= n; i++) {
int num = 0, t = 0;
for(int j = 1; j <= m1; j++) {
if(f2[j].a < t)
continue;
t = f2[j].b;
f2[j].a = -1;
f2[j].b = -1;
num++;
}
d2[++top2] = d2[top2-1] + num;
}
for(int i = 0; i <= n; i++)
ans = max(ans, d1[i] + d2[n-i]);
cout << ans;
return 0;
}