#include <iostream>
#include <cmath>
using namespace std;

#define INF (1<<20)
int field[128][128];

int dist(int x1, int y1, int x2, int y2)
{
	x1-=(y1-1)/2;
	x2-=(y2-1)/2;

	return (abs(x1-x2)+abs(y1-y2)+abs((x1+y1)-(x2+y2)))/2;
}

int main()
{
	int w,h,n,x0,y0,cnt,ans;
	while(cin >> w, w)
	{
		cin >> h;
		for(int y=1; y<=h; y++)
		for(int x=1; x<=w; x++)
		{
			field[y][x] = INF;
		}
		
		cin >> n;
		while(n--)
		{
			cin >> x0 >> y0;
			for(int y=1; y<=h; y++)
			for(int x=1; x<=w; x++)
			{
				field[y][x] = min(field[y][x],dist(x0,y0,x,y));
			}
		}

		ans = 0;
		cin >> n;
		while(n--)
		{
			cnt = 0;
			cin >> x0 >> y0;
			for(int y=1; y<=h; y++)
			for(int x=1; x<=w; x++)
			{
				if(field[y][x]>dist(x0,y0,x,y)) cnt++;
			}
			ans = max(ans,cnt);
		}
		cout << ans << endl;
	}
	return 0;
}