#include <bits/stdc++.h>
using namespace std;
long long n, m, c, h;
pair<long long, long long> A[100100], B[100100], C[4];
long long dist[2][2];
int main() {
  scanf("%I64d%I64d", &n, &m);
  scanf("%I64d", &c);
  for (int i = 1; i <= c; i++) scanf("%I64d%I64d", &A[i].first, &A[i].second);
  scanf("%I64d", &h);
  for (int i = 1; i <= h; i++) scanf("%I64d%I64d", &B[i].first, &B[i].second);
  for (int i = 0; i < 2; i++)
    for (int j = 0; j < 2; j++)
      if (i == 0)
        dist[i][j] = (long long)2123123123ll * 2123123123ll;
      else
        dist[i][j] = 2123123123ll * 2123123123ll;
  memset(C, 0, sizeof(C));
  for (int i = 1; i <= c; i++) {
    long long x, y;
    x = A[i].first;
    y = A[i].second;
    if (abs(x - 0) + abs(y - 0) < dist[0][0]) {
      dist[0][0] = abs(x - 0) + abs(y - 0);
      C[0] = A[i];
    }
    if (abs(x - n) + abs(y - 0) < dist[0][1]) {
      dist[0][1] = abs(x - n) + abs(y - 0);
      C[1] = A[i];
    }
    if (abs(x - 0) + abs(y - m) < dist[1][0]) {
      dist[1][0] = abs(x - 0) + abs(y - m);
      C[2] = A[i];
    }
    if (abs(x - n) + abs(y - m) < dist[1][1]) {
      dist[1][1] = abs(x - n) + abs(y - m);
      C[3] = A[i];
    }
  }
  long long ans, ans2;
  ans = 2123123123ll * 2123123123ll;
  ans2 = 1;
  for (int i = 1; i <= h; i++) {
    long long X = B[i].first;
    long long Y = B[i].second;
    long long tmp = -1;
    for (int j = 0; j < 4; j++) {
      long long x = C[j].first;
      long long y = C[j].second;
      if (abs(X - x) + abs(Y - y) > tmp) tmp = abs(X - x) + abs(Y - y);
    }
    if (ans > tmp) {
      ans = tmp;
      ans2 = i;
    }
  }
  printf("%I64d\n%I64d\n", ans, ans2);
  return 0;
}
