#include <bits/stdc++.h>
using namespace std;
const int N = 100 * 1000 + 5;
pair<int, int> wsp[N];
int war[N], tab[N];
pair<int, int> naj[4];
bool cmp(int a, int b) {
  if (war[a] == war[b]) return a < b;
  return war[a] < war[b];
}
int main() {
  int n, m, c, h, a, b;
  scanf("%d%d", &n, &m);
  scanf("%d", &c);
  for (int i = 0; i < c; i++) {
    scanf("%d%d", &a, &b);
    wsp[i] = make_pair(a, b);
    tab[i] = i;
  }
  for (int i = 0; i < c; i++) war[i] = wsp[i].first + wsp[i].second - 2;
  sort(tab, tab + c, cmp);
  naj[0] = wsp[tab[0]];
  for (int i = 0; i < c; i++) war[i] = n - wsp[i].first + wsp[i].second - 1;
  sort(tab, tab + c, cmp);
  naj[1] = wsp[tab[0]];
  for (int i = 0; i < c; i++) war[i] = n - wsp[i].first + m - wsp[i].second;
  sort(tab, tab + c, cmp);
  naj[2] = wsp[tab[0]];
  for (int i = 0; i < c; i++) war[i] = wsp[i].first - 1 + m - wsp[i].second;
  sort(tab, tab + c, cmp);
  naj[3] = wsp[tab[0]];
  scanf("%d", &h);
  int najm = -1, odl = n + m + 2;
  for (int z = 0; z < h; z++) {
    scanf("%d%d", &a, &b);
    int MIN = abs(a - naj[0].first) + abs(b - naj[0].second);
    for (int i = 1; i < 4; i++)
      MIN = max(MIN, abs(a - naj[i].first) + abs(b - naj[i].second));
    if (MIN < odl) {
      najm = z + 1;
      odl = MIN;
    }
  }
  printf("%d\n%d\n", odl, najm);
}
