#include <bits/stdc++.h>
using namespace std;
int n, m;
const int N = 2005;
long long a[N], b[N], suma, sumb;
vector<pair<long long, pair<int, int> > > p;
void input() {
  cin >> n;
  for (int i = 1; i <= n; i++) scanf("%I64d", &a[i]);
  cin >> m;
  for (int i = 1; i <= m; i++) scanf("%I64d", &b[i]);
  for (int i = 1; i <= m; i++)
    for (int j = i + 1; j <= m; j++) {
      p.push_back(make_pair(0ll + 2 * b[i] + 2 * b[j], make_pair(i, j)));
    }
  sort(p.begin(), p.end());
}
long long MIN[3];
vector<pair<int, int> > ans[3];
void get_sum() {
  suma = 0;
  for (int i = 1; i <= n; i++) suma += a[i];
  sumb = 0;
  for (int i = 1; i <= m; i++) sumb += b[i];
}
void solve0() {
  get_sum();
  MIN[0] = abs(suma - sumb);
}
void solve1() {
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) {
      long long num = abs(suma - sumb - 2 * (a[i] - b[j]));
      if (ans[1].empty()) {
        MIN[1] = num;
        ans[1].push_back(make_pair(i, j));
      } else if (num < MIN[1]) {
        MIN[1] = num;
        ans[1][0] = make_pair(i, j);
      }
    }
}
void solve2() {
  MIN[2] = 1e18;
  ans[2].resize(2);
  if (n < 2 || m < 2) {
    return;
  }
  int M = (m * (m - 1)) / 2;
  for (int i = 1; i <= n; i++)
    for (int j = i + 1; j <= n; j++) {
      long long Find = sumb - suma + 2 * a[i] + 2 * a[j];
      int k =
          lower_bound(p.begin(), p.end(), make_pair(Find, make_pair(0, 0))) -
          p.begin();
      for (int t = max(0, k - 1); t <= min(k, M - 1); t++) {
        long long ABS = abs(suma - sumb - (2 * a[i] + 2 * a[j] - p[t].first));
        if (ABS < MIN[2]) {
          MIN[2] = ABS;
          ans[2][0] = make_pair(i, p[t].second.first);
          ans[2][1] = make_pair(j, p[t].second.second);
        }
      }
    }
}
int main() {
  input();
  solve0();
  solve1();
  solve2();
  int mini = 0;
  for (int i = 1; i < 3; i++)
    if (MIN[i] < MIN[mini]) mini = i;
  cout << MIN[mini] << endl;
  cout << mini << endl;
  for (int i = 0; i < ans[mini].size(); i++)
    cout << ans[mini][i].first << " " << ans[mini][i].second << endl;
  return 0;
}
