RT
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
const int N=1e5;
int n,mo,ms;
int var[N];
int qd[N],zd[N];
int aday[500][2]; //1go;0in
int max_time=-1;
int sylq[2],totlq[2]; //0-gn, 1-gj
int sumpl=0;
int ans=-1;
int isIn[N];
int main(){
// freopen("airport.in","r",stdin);
// freopen("airport.out","w",stdout);
cin>>n>>mo>>ms;
for(int i=1;i<=mo;i++){
var[i]=0;
cin>>qd[i]>>zd[i];
max_time=max(max_time,zd[i]);
aday[qd[i]][0]=i;
aday[zd[i]][1]=i;
}
for(int i=1;i<=ms;i++){
var[i+mo]=1;
cin>>qd[i+mo]>>zd[i+mo];
max_time=max(max_time,zd[i]);
aday[qd[i+mo]][0]=i+mo;
aday[zd[i+mo]][1]=i+mo;
}
for(int i=0;i<=n;i++){
totlq[0]=i;
totlq[1]=n-i;
sumpl=0;
for(int i=1;i<=max_time;i++){
ans=max(ans,sumpl);
int cur_pla_in=aday[i][0];
if(cur_pla_in!=0){
int cur_pla_var=var[cur_pla_in];
if(sylq[cur_pla_var]<totlq[cur_pla_var]){
isIn[cur_pla_in]=1;
sylq[cur_pla_var]++;
sumpl++;
}
}
int cur_pla_out=aday[i][1];
if(cur_pla_out!=0){
int cur_pla_var=var[cur_pla_out];
if(sylq[cur_pla_var]>0&&isIn[cur_pla_out])sylq[cur_pla_var]--;
}
}
}
cout<<ans;
return 0;
}