# include <algorithm>
# include <iostream>
using namespace std;
int cnt1[100001],cnt2[100001];
int ans[100001];
int ans2[100001];
struct mm
{
int down;
int fly;
}m[100001];
bool cmp(mm a,mm b)
{return a.down<b.down;
}
int main(void)
{
int n,m1,m2;
cin>>n>>m1>>m2;
int len=m1+m2;
for(int i=1;i<=len;i++)
scanf("%d%d",&m[i].down,&m[i].fly);
sort(m,m+m1,cmp);
sort(m+m1+1,m+len,cmp);
for(int i=1;i<=m1;i++)
{
for(int j=1;j<=n;j++)
{
if(m[i].down>=ans[j])
{
cnt1[j]++;
ans[j]=m[i].fly;
break;
}
}
}
for(int i=m1+1;i<=len;i++)
{
for(int j=1;j<=n;j++)
{
if(m[i].down>=ans2[j])
{
cnt2[j]++;
ans2[j]=m[i].fly;
break;
}
}
}
for(int i=1;i<=n;i++)
{
cnt1[i]+=cnt1[i-1];
cnt2[i]+=cnt2[i-1];
}
int max=0;
for(int i=0;i<=n;i++)
{
int k=cnt1[i]+cnt2[n-i];
if(k>max)
max=k;
}
cout<<max<<endl;
}