#include <cstdio>
#include <vector>

using namespace std;

inline int dist(int x1,int y1,int x2,int y2)
{
	if(y1>y2){
		swap(x1,x2);
		swap(y1,y2);
	}
	
	int dy=y2-y1;
	if(y1&1)
		return max(max(x2-x1-dy/2,x1-x2-(dy+1)/2),0)+dy;
	else
		return max(max(x2-x1-(dy+1)/2,x1-x2-dy/2),0)+dy;
}

int main()
{
	for(int w,h;scanf("%d%d",&w,&h),w;){
		int s; scanf("%d",&s);
		vector<int> xs(s),ys(s);
		for(int i=0;i<s;i++)
			scanf("%d%d",&xs[i],&ys[i]);
		int t; scanf("%d",&t);
		int res=0;
		while(t--){
			int x,y; scanf("%d%d",&x,&y);
			int tmp=0;
			for(int i=1;i<=h;i++){
				for(int j=1;j<=w;j++){
					int d=1<<29;
					for(int k=0;k<s;k++)
						d=min(d,dist(xs[k],ys[k],j,i));
					if(d>dist(x,y,j,i))
						tmp++;
				}
			}
			res=max(tmp,res);
		}
		printf("%d\n",res);
	}
	
	return 0;
}