#include <bits/stdc++.h>
using namespace std;
bool debug = 1;
int n, m, k;
int dx[4] = {0, 1, 0, -1}, dy[4] = {1, 0, -1, 0};
long long ln, lk, lm;
int xc[100005], yc[100005], xh[100005], yh[100005];
int c, h, id;
pair<int, int> np(int x, int y) { return {x + y, x - y}; }
bool ck(long long mid) {
  auto p = np(xc[1], yc[1]);
  long long l = p.first - mid, r = p.first + mid, b = p.second + mid,
            t = p.second - mid;
  for (int i = 2; i <= c; i++) {
    p = np(xc[i], yc[i]);
    long long L = p.first - mid, R = p.first + mid, B = p.second + mid,
              T = p.second - mid;
    l = max(l, L);
    t = max(t, T);
    r = min(r, R);
    b = min(b, B);
    if (r < l || b < t) return 0;
  }
  for (int(i) = 1; (i) <= (int)(h); (i)++) {
    p = np(xh[i], yh[i]);
    if (p.first >= l && p.first <= r && p.second >= t && p.second <= b) {
      id = i;
      return 1;
    }
  }
  return 0;
}
int main() {
  scanf("%d%d", &n, &m);
  scanf("%d", &c);
  for (int(i) = 1; (i) <= (int)(c); (i)++) scanf("%d%d", xc + i, yc + i);
  scanf("%d", &h);
  for (int(i) = 1; (i) <= (int)(h); (i)++) scanf("%d%d", xh + i, yh + i);
  long long l = 0, r = 1e10;
  while (l + 1 < r) {
    long long mid = (l + r) / 2;
    if (ck(mid))
      r = mid;
    else
      l = mid + 1;
  }
  if (!ck(l)) ck(r);
  long long ans = 0;
  for (int(i) = 1; (i) <= (int)(c); (i)++) {
    long long tmp = abs(xc[i] - xh[id]) + abs(yc[i] - yh[id]);
    ans = max(ans, tmp);
  }
  cout << ans << endl << id << endl;
  return 0;
}
