#include <bits/stdc++.h>
using namespace std;
void nandini() {
  long long int n, m, d = 0, i, j, ans = 0;
  cin >> n;
  vector<pair<long long int, long long int>> v1;
  for (i = 0; i < n; i++) {
    long long int a, b;
    cin >> a >> b;
    v1.push_back(make_pair(a, b));
  }
  cin >> m;
  vector<pair<long long int, long long int>> v2;
  for (i = 0; i < m; i++) {
    long long int a, b;
    cin >> a >> b;
    v2.push_back(make_pair(a, b));
  }
  long long int max1 = INT_MIN;
  long long int min1 = INT_MAX;
  long long int max2 = INT_MIN;
  long long int min2 = INT_MAX;
  for (i = 0; i < n; i++) {
    max1 = max(max1, v1[i].first);
    min1 = min(min1, v1[i].second);
  }
  for (i = 0; i < m; i++) {
    max2 = max(max2, v2[i].first);
    min2 = min(min2, v2[i].second);
  }
  int res = max(max2 - min1, max1 - min2);
  cout << max(res, 0) << endl;
}
int main() {
  long long int t = 1;
  while (t--) {
    nandini();
  }
  return 0;
}
