#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 15;
long long hx[N], hy[N];
long long rx[N], ry[N];
long long maxY[N], minY[N];
int getId(vector<int> &v, int x) {
  int l = 0, r = v.size() - 1, mid;
  while (l < r) {
    mid = (l + r + 1) / 2;
    if (v[mid] <= x) {
      l = mid;
    } else {
      r = mid - 1;
    }
  }
  assert(v[l] == x);
  return l;
}
long long mprev[N], aprev[N];
long long msuf[N], asuf[N];
void solve() {
  int n, m;
  scanf("%d%d", &n, &m);
  int c;
  scanf("%d", &c);
  for (int i = 0; i < N; ++i) {
    maxY[i] = 0;
    minY[i] = 2e9;
  }
  vector<int> v;
  for (int i = 1; i <= c; ++i) {
    scanf("%lld%lld", &hx[i], &hy[i]);
    v.push_back(hx[i]);
  }
  int h;
  scanf("%d", &h);
  for (int i = 1; i <= h; ++i) {
    scanf("%lld%lld", &rx[i], &ry[i]);
    v.push_back(rx[i]);
  }
  sort(v.begin(), v.end());
  for (int i = 1; i <= c; ++i) {
    int id = getId(v, hx[i]);
    maxY[id] = max(maxY[id], hy[i]);
    minY[id] = min(minY[id], hy[i]);
  }
  long long ret = 1e18;
  int hotelId = -1;
  mprev[0] = aprev[0] = -2e12;
  for (int i = 0; i < v.size(); ++i) {
    if (i - 1 >= 0) {
      mprev[i] = mprev[i - 1];
      aprev[i] = aprev[i - 1];
    }
    if (minY[i] <= maxY[i]) {
      aprev[i] = max(aprev[i], -v[i] + maxY[i]);
      mprev[i] = max(mprev[i], -v[i] - minY[i]);
    }
  }
  msuf[v.size() - 1] = asuf[v.size() - 1] = -2e12;
  for (int i = v.size() - 1; i >= 0; --i) {
    if (i + 1 < v.size()) {
      msuf[i] = msuf[i + 1];
      asuf[i] = asuf[i + 1];
    }
    if (minY[i] <= maxY[i]) {
      msuf[i] = max(msuf[i], v[i] - minY[i]);
      asuf[i] = max(asuf[i], v[i] + maxY[i]);
    }
  }
  for (int i = 1; i <= h; ++i) {
    int id = getId(v, rx[i]);
    int yy = ry[i], xx = rx[i];
    int g = yy + xx;
    long long tmp = -1e18;
    tmp = max(tmp, g + mprev[id]);
    tmp = max(tmp, xx - yy + aprev[id]);
    tmp = max(tmp, -xx + yy + msuf[id]);
    tmp = max(tmp, -xx - yy + asuf[id]);
    if (tmp < ret) {
      ret = tmp;
      hotelId = i;
    }
  }
  printf("%lld\n%d\n", ret, hotelId);
}
int main() { solve(); }
