#include <cstdio>
#include <vector>
#include <algorithm>
#include <utility>
using namespace std;

typedef pair<int,int> pii;

int main(){
	int n, h, r;
	const int INF = 1 << 30;
	while(1){
		vector<pii> v;
		for(int i = 0; i < 2; ++i){
			if(scanf("%d", &n) == EOF){ return 0; }
			for(int j = 0; j < n; ++j){
				scanf("%d%d", &h, &r);
				v.push_back(pii(h, -r));
			}
		}
		sort(v.begin(), v.end());

		vector<int> dp(v.size() + 1, INF);
		for(int i = 0; i < v.size(); ++i){
			r = -v[i].second;
			*lower_bound(dp.begin(), dp.end(), r) = r;
		}
		printf("%d\n", lower_bound(dp.begin(), dp.end(), INF) - dp.begin());
	}
}