#include <bits/stdc++.h>
using namespace std;
const long long inf = 0x3f3f3f3f;
int maxs[6] = {-inf, -inf, -inf, -inf};
long long find(long long x, long long y) { return x > y ? x : y; }
int main() {
  int n, m, c, h, x, y, number;
  long long length = inf << 32;
  cin >> n >> m >> c;
  getchar();
  while (c--) {
    scanf("%d%d%*c", &x, &y);
    maxs[0] = maxs[0] > find(maxs[0], x + y) ? maxs[0] : find(maxs[0], x + y);
    maxs[1] = maxs[1] > find(maxs[1], x - y) ? maxs[1] : find(maxs[1], x - y);
    maxs[2] = maxs[2] > find(maxs[2], -x + y) ? maxs[2] : find(maxs[2], -x + y);
    maxs[3] = maxs[3] > find(maxs[3], -x - y) ? maxs[3] : find(maxs[3], -x - y);
  }
  cin >> h;
  for (int i = 1; i <= h; i++) {
    scanf("%d%d%*c", &x, &y);
    long long temp = find(find(x + y + maxs[3], x - y + maxs[2]),
                          find(-x + y + maxs[1], -x - y + maxs[0]));
    if (temp < length) {
      length = temp;
      number = i;
    }
  }
  cout << length << endl << number << endl;
  return 0;
}
