#include <bits/stdc++.h>
using namespace std;

#define reps(i,f,n) for(int i=f; i<int(n); ++i)
#define rep(i,n) reps(i,0,n)

typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> pii;

const int INF = 1001001001;

int dist(pii a, pii b)
{
    int dy = a.first - b.first;
    int dx = a.second - b.second;
    if(0 <= dy*dx){
        dy = abs(dy);
        dx = abs(dx);
        return dy + max(0, dx - (dy+1-min(a.first,b.first)%2)/2);
    }
    else{
        dy = abs(dy);
        dx = abs(dx);
        return dy + max(0, dx - (dy + min(a.first, b.first)%2)/2);
    }
}

int main()
{
    int m, n;
    while(scanf("%d%d", &m, &n), m){
        int s;
        scanf("%d", &s);
        pii conv[10];
        rep(i, s)
            scanf("%d%d", &conv[i].second, &conv[i].first);

        int d[101][101];
        rep(i, n) rep(j, m){
            d[i+1][j+1] = INF;
            rep(k, s)
                d[i+1][j+1] = min(d[i+1][j+1], dist(pii(i+1, j+1), conv[k]));
        }

        int t, ans = 0;
        scanf("%d", &t);
        rep(i, t){
            int x, y;
            scanf("%d%d", &x, &y);

            int cnt = 0;
            rep(j, n) rep(k, m)
                cnt += dist(pii(j+1, k+1), pii(y, x)) < d[j+1][k+1];
            ans = max(ans, cnt);
        }
        printf("%d\n", ans);
    }
    return 0;
}