#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;
}