[RE] (https://www.luogu.com.cn/record/106355122)
#include <bits/stdc++.h>
using namespace std;
#pragma GCC target("avx2")
#define pi pair<int,int>
#define mk make_pair
#define x first
#define y second
const int N=1e5+5;
int n,m1,m2,ans;
int anx[N],any[N];
pi a[N],b[N];
inline int work(pi *t,int *ans,int m) { priority_queue<pi,vector<pi>,greater<pi> > wt;
priority_queue<int,vector<int>,greater<int> > q;
for(int i=1;i<=n;++i) q.push(i);
for(int i=1;i<=m;++i) {
while(!wt.empty()&&t[i].x>=wt.top().x) q.push(wt.top().y),wt.pop();
if(q.empty()) continue;
int v=q.top(); q.pop();
++ans[v],wt.push(mk(t[i].y,v));
}
for(int i=1;i<=n;++i) ans[i]+=ans[i-1];
}
signed main() {
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
cin>>n>>m1>>m2;
for(int i=1;i<=m1;++i) cin>>a[i].x>>a[i].y;
for(int i=1;i<=m2;++i) cin>>b[i].x>>b[i].y;
sort(a+1,a+m1+1),sort(b+1,b+m2+1);
work(a,anx,m1),work(b,any,m2);
for(int i=0;i<=n;++i) ans=max(ans,anx[i]+any[n-i]);
cout<<ans;
return 0;
}