#include <iostream>
#include <complex>
#include <sstream>
#include <string>
#include <algorithm>
#include <deque>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <vector>
#include <set>
#include <limits>
#include <cstdio>
#include <cctype>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <ctime>
using namespace std;
#define REP(i, j) for(int i = 0; i < (int)(j); ++i)
#define FOR(i, j, k) for(int i = (int)(j); i < (int)(k); ++i)
#define SORT(v) sort((v).begin(), (v).end())
#define REVERSE(v) reverse((v).begin(), (v).end())
typedef pair<int, int> P;
typedef pair<int, P> PP;

int mx[2][6] = {
  {-1, 0, 1, 0, -1, -1},
  {0, 1, 1, 1, 0, -1}
};
int my[2][6] = {
  {1, -1, 0, 1, 1, 0},
  {-1, -1, 0, 1, 1, 0}
};

int W, H, S, T;

void update(int sy, int sx, vector< vector<int> > &v){
  queue<PP> open;
  open.push(PP(0, P(sy, sx)));
  v[sy][sx] = 0;
  while(!open.empty()){
    PP pp = open.front(); open.pop();
    int y = pp.second.first, x = pp.second.second, n = pp.first, t = (y % 2 == 0);
    REP(i, 6){
      int ny = y + my[t][i], nx = x + mx[t][i];
      if(ny <= 0 || nx <= 0 || ny > H || nx > W || v[ny][nx] <= n + 1) continue;
      v[ny][nx] = n + 1;
      open.push(PP(n + 1, P(ny, nx)));
    }
  }
}

int count(int y, int x, int n, vector< vector<int> > &v, vector< vector<bool> > &visited){
  int res = 1;
  visited[y][x] = 1;
  v[y][x] = n;
  int t = y % 2 == 0;
  REP(i, 6){
    int ny = y + my[t][i], nx = x + mx[t][i];
    if(ny <= 0 || nx <= 0 || ny > H || nx > W || v[ny][nx] <= n + 1 || visited[ny][nx]) continue;
    res += count(ny, nx, n + 1, v, visited);
  }
  return res;
}

int main() {
  while(cin >>W >>H && W && H){
    vector< vector<int> > v(H + 1, vector<int>(W + 1, 1e9));
    cin >>S;
    REP(s, S){
      int x, y; cin >>x >>y;
      update(y, x, v);
    }
    cin >>T;
    int res = 0;
    REP(t, T){
      int x, y; cin >>x >>y;
      vector< vector<bool> > visited(H + 1, vector<bool>(W + 1, 0));
      res = max(res, count(y, x, 0, v, visited));
    }
    cout <<res <<endl;
  }
  return 0;
}