#include <bits/stdc++.h>
using namespace std;
template <class T = long long int>
T nxt() {
  T x;
  cin >> x;
  return x;
}
long long int pw(long long int a, long long int b, long long int mod) {
  if (!b) return 1;
  if (b & 1) return a * pw(a * a % mod, b / 2, mod) % mod;
  return pw(a * a % mod, b / 2, mod) % mod;
}
const long long int N = 1e5 + 10;
const long long int MOD = 1e9 + 7;
const long long int INF = 1e18;
long long int w, h, n, m, mx[4] = {-INF, -INF, -INF, -INF}, now[4];
pair<long long int, long long int> A[N], B[N];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  cin >> w >> h >> n;
  for (int i = 0; i < n; i++) {
    cin >> A[i].first >> A[i].second;
    mx[0] = max(mx[0], A[i].first + A[i].second);
    mx[1] = max(mx[1], A[i].first - A[i].second);
    mx[2] = max(mx[2], -A[i].first + A[i].second);
    mx[3] = max(mx[3], -A[i].first - A[i].second);
  }
  cin >> m;
  long long int ans = INF, ind = -1;
  for (int j = 0; j < m; j++) {
    cin >> B[j].first >> B[j].second;
    long long int now = -INF;
    now = max(now, mx[0] - B[j].first - B[j].second);
    now = max(now, mx[1] - B[j].first + B[j].second);
    now = max(now, mx[2] + B[j].first - B[j].second);
    now = max(now, mx[3] + B[j].first + B[j].second);
    if (now < ans) {
      ans = now;
      ind = j;
    }
  }
  cout << ans << '\n' << ind + 1 << '\n';
  return 0;
}
