#include <bits/stdc++.h>
using namespace std;
int main() {
  pair<long, long> posl_pocinje[2] = {pair<long, long>(0, 0),
                                      pair<long, long>(0, 0)};
  pair<long, long> prvi_zavrsava[2] = {pair<int, int>(0, 1000000000),
                                       pair<long, long>(0, 1000000000)};
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    int a, b;
    cin >> a >> b;
    if (a > posl_pocinje[0].first) {
      posl_pocinje[0].first = a;
      posl_pocinje[0].second = b;
    }
    if (b < prvi_zavrsava[0].second) {
      prvi_zavrsava[0].first = a;
      prvi_zavrsava[0].second = b;
    }
  }
  cin >> n;
  for (int i = 0; i < n; i++) {
    int a, b;
    cin >> a >> b;
    if (a >= posl_pocinje[1].first) {
      posl_pocinje[1].first = a;
      posl_pocinje[1].second = b;
    }
    if (b <= prvi_zavrsava[1].second) {
      prvi_zavrsava[1].first = a;
      prvi_zavrsava[1].second = b;
    }
  }
  int max1 = posl_pocinje[0].first - prvi_zavrsava[1].second;
  int max2 = posl_pocinje[1].first - prvi_zavrsava[0].second;
  int max = max1 > max2 ? max1 : max2;
  if (max < 0) max = 0;
  cout << max << endl;
  return 0;
}
