#include <bits/stdc++.h>
using namespace std;
 
int w_size, b_size;
int W[22], B[22];
 
int solve(int h, int last, int turn, int wk, int bk){
	if(turn == 0){
		if(wk >= w_size)return h;
		if(W[wk] < last){
			return solve(h + 1, W[wk], 1, wk + 1, bk);
		} else {
			return solve(h, last, 0, wk + 1, bk);
		}
	} else {
		if(bk >= b_size)return h;
		if(B[bk] < last){
			return solve(h + 1, B[bk], 0, wk, bk + 1);
		} else {
			return solve(h, last, 1, wk, bk + 1);
		}
	}
}
 
int main(){
	cin >> w_size;
	for(int i=0;i<w_size;i++)cin >> W[i];
 
	cin >> b_size;
	for(int i=0;i<b_size;i++)cin >> B[i];
 
	sort(W, W + w_size, greater<int>());
	sort(B, B + b_size, greater<int>());
 
	int res = 0;
	res = max(res, solve(0, 100, 0, 0, 0));
	res = max(res, solve(0, 100, 1, 0, 0));
 
	cout << res << endl;
	return 0;
}