#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    while (true)
    {
        int n;
        cin>>n;
        if (n==0)
            break;
        vector<int> h(n), r(n);
        for (int i=0; i<n; i++)
            cin>>h[i]>>r[i];
        int m;
        cin>>m;
        h.resize(n+m);
        r.resize(n+m);
        for (int i=n; i<n+m; i++)
            cin>>h[i]>>r[i];

        vector<int> c(n+m, 1);
        for (int i=0; i<n+m; i++)
        for (int j=0; j<n+m; j++)
        for (int k=0; k<n+m; k++)
            if (h[k]<h[j] && r[k]<r[j])
                c[j] = max(c[j], c[k]+1);
        cout<<*max_element(c.begin(), c.end())<<endl;
    }
}