#include <cstdio>
#include <cstring>
#include <utility>
#include <algorithm>
using namespace std;
typedef pair<int,int> P;
P doll[200];
int memo[200];
int n,m;
int solve(int x) {
	if(memo[x]>-1) return memo[x];
	int sum=0;
	for(int i=x+1;i<(n+m);i++) {
		if(doll[x].second<doll[i].second)
			sum=max(sum,1+solve(i));
	}
	return memo[x]=sum;
}
int main() {
	while(scanf("%d",&n),n) {
		for(int i=0;i<200;i++) {
			doll[i].first=doll[i].second=1<<30;
		}
		for(int i=0;i<n;i++) {
			int h,r;
			scanf("%d %d",&h,&r);
			doll[i].first=h,doll[i].second=r;
		}
		scanf("%d",&m);
		for(int i=0;i<m;i++) {
			int h,r;
			scanf("%d %d",&h,&r);
			doll[i+n].first=h,doll[i+n].second=r;
		}
		sort(doll,doll+n+m);
		memset(memo,-1,sizeof(memo));
		int sum=0;
		for(int i=0;i<(n+m);i++) {
			sum=max(sum,1+solve(i));
		}
		printf("%d\n",sum);
	}
}