from collections import deque N = int(input()) S = [tuple(map(int, input().split())) for _ in range(N)] M = int(input()) T = [tuple(map(int, input().split())) for _ in range(M)] G, I = 1000, float('inf') dS, dT = [[I]*G for _ in range(G)], [[I]*G for _ in range(G)] qS, qT = deque(S), deque(T) for x, y in S: dS[x][y] = 0 for x, y in T: dT[x][y] = 0 def bfs(q, d): while q: x, y = q.popleft() for dx, dy in [(-1,0), (1,0), (0,-1), (0,1)]: nx, ny = x+dx, y+dy if 0<=nx