#include <bits/stdc++.h>

using namespace std;

typedef vector<int> vi;
typedef vector<vi> vii;
typedef vector<string> vs;
typedef vector<bool> vb;
typedef vector<vb> vbb;
typedef pair<int, int> pii;
typedef long long ll;
typedef unsigned long long ull;

#define all(a)  (a).begin(),(a).end()
#define rall(a) (a).rbegin(), (a).rend()
#define pb push_back
#define mp make_pair

#define loop(i,a,b) for(int i=(a);i<ull(b);++i)
#define rep(i,n) loop(i,0,n)

const double eps = 1e-10;
const double pi  = acos(-1.0);
const double inf = (int)1e8;

int main(){
    int n, m;
    while(cin >> n, n){
        vector<pair<int, int> > v;
        for(int i=0; i< n; i++){
            int h, r;
            cin >> h >> r;
            v.push_back(make_pair(h, r));
        }
        cin >> m;
        for(int i=0; i< m; i++){
            int h, r;
            cin >> h >> r;
            v.push_back(make_pair(h, r));
        }
        sort(v.begin(), v.end());
        int count = 0;
        int h = 0, r = 0;
        for(int i=0; i < v.size(); i++){
            if(h < v[i].first && r < v[i].second){
                h = v[i].first; r = v[i].second; count++;
            }
        }
        cout << count << endl;
    }
}