#include <bits/stdc++.h>
using namespace std;
const int maxn = 200000 + 10;
int n, m;
int k, h;
struct node {
  long long x, y;
} a[maxn], b[maxn];
long long ans;
long long m_l, m_r, m_u, m_d, ans2;
int main() {
  cin >> n >> m;
  cin >> k;
  m_l = m_r = m_d = m_u = -0x7fffffffff;
  for (int i = 1; i <= k; i++) {
    long long x, y;
    scanf("%lld %lld", &x, &y);
    m_l = max(m_l, x + y);
    m_r = max(m_r, x - y);
    m_u = max(m_u, y - x);
    m_d = max(m_d, -x - y);
  }
  cin >> h;
  ans = 0x7ffffffffffffff;
  for (int i = 1; i <= h; i++) {
    long long x, y;
    scanf("%lld %lld", &x, &y);
    long long mx =
        max(max(x + y + m_d, x - y + m_u), max(-x - y + m_l, y - x + m_r));
    if (mx < ans) {
      ans = mx;
      k = i;
    }
  }
  cout << ans << endl;
  cout << k << endl;
  return 0;
}
