#include <bits/stdc++.h>
using namespace std;
const int N = 2005;
int n, m;
long long a[N], b[N];
vector<pair<int, int> > ans;
pair<long long, int> a2[N * N];
int main() {
  ios::sync_with_stdio(false);
  long long sa = 0, sb = 0;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    sa += a[i];
  }
  cin >> m;
  for (int i = 0; i < m; i++) {
    cin >> b[i];
    sb += b[i];
  }
  long long diff = abs(sa - sb);
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      if (abs(sa - sb - 2 * a[i] + 2 * b[j]) < diff) {
        diff = abs(sa - sb - 2 * a[i] + 2 * b[j]);
        ans.clear();
        ans.push_back(make_pair(i + 1, j + 1));
      }
    }
  }
  if (n == 1 || m == 1) {
    cout << diff << endl;
    cout << ans.size() << endl;
    if (ans.size()) {
      cout << ans[0].first << ' ' << ans[0].second << endl;
    }
    return 0;
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      a2[i * n + j].second = i * n + j;
      if (i == j)
        a2[i * n + j].first = 0x7fffffff;
      else
        a2[i * n + j].first = a[i] + a[j];
    }
  }
  sort(a2, a2 + n * n);
  int sz = 1, len = n * n;
  for (int i = 1; i < len; i++) {
    if (a2[i].first == 0x7fffffff) break;
    if (a2[sz - 1].first != a2[i].first) {
      a2[sz++] = a2[i];
    }
  }
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < m; j++) {
      if (i == j) continue;
      long long s = b[i] + b[j];
      int p =
          lower_bound(a2, a2 + sz, make_pair((sa - sb + 2 * s) / 2, 0)) - a2;
      if (p < sz && abs(sb - sa - 2 * s + 2 * a2[p].first) < diff) {
        diff = abs(sb - sa - 2 * s + 2 * a2[p].first);
        ans.clear();
        ans.push_back(make_pair(a2[p].second / n + 1, i + 1));
        ans.push_back(make_pair(a2[p].second % n + 1, j + 1));
      }
      if (p > 0) {
        p--;
        if (abs(sb - sa - 2 * s + 2 * a2[p].first) < diff) {
          diff = abs(sb - sa - 2 * s + 2 * a2[p].first);
          ans.clear();
          ans.push_back(make_pair(a2[p].second / n + 1, i + 1));
          ans.push_back(make_pair(a2[p].second % n + 1, j + 1));
        }
      }
    }
  }
  cout << diff << endl;
  cout << ans.size() << endl;
  if (ans.size()) {
    for (int i = 0; i < ans.size(); i++) {
      cout << ans[i].first << ' ' << ans[i].second << endl;
    }
  }
  return 0;
}
