func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long MAX = 100010;   const long long MOD = 1000000007;   const long long INF = (long long)1e9;   const long long LLINF = 0x3f3f3f3f3f3f3f3f;   const long double EPS = 1e-7;   int32_t main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     ;     long long n, m;     cin >> n;     long long somaa0 = 0, somab0 = 0;     vector<long long> a(n);     for (long long i = 0; i < (long long)n; i++) {       cin >> a[i];       somaa0 += a[i];     }     cin >> m;     vector<long long> b(m);     for (long long i = 0; i < (long long)m; i++) {       cin >> b[i];       somab0 += b[i];     }     vector<pair<long long, long long> > res;     long long melhor = abs(somaa0 - somab0);     set<long long> setb;     for (long long i = 0; i < (long long)m; i++) {       for (long long j = i + 1; j <= m - 1; j++) {         setb.insert(2 * b[i] + 2 * b[j]);       }     }     for (long long i = 0; i < (long long)n; i++) {       for (long long j = 0; j < (long long)m; j++) {         long long somaa1 = somaa0 - a[i] + b[j];         long long somab1 = somab0 + a[i] - b[j];         if (abs(somaa1 - somab1) < melhor) {           melhor = abs(somaa1 - somab1);           res.clear();           res.push_back(make_pair(i, j));         }       }     }     bool win2 = false;     for (long long i = 0; i < a.size(); i++) {       for (long long j = i + 1; j < a.size(); j++) {         long long somaa2 = somaa0 - a[i] - a[j];         long long somab2 = somab0 + a[i] + a[j];         long long m = somab2 - somaa2;         auto it = setb.lower_bound(m);         if (it != setb.end()) {           long long val = *it;           if (abs(val + somaa2 - somab2) < melhor) {             melhor = abs(val + somaa2 - somab2);             win2 = true;             res.clear();             res.push_back(make_pair(i, j));           }         }         if (it != setb.begin()) {           auto it2 = prev(it);           long long val = *it2;           if (abs(val + somaa2 - somab2) < melhor) {             melhor = abs(val + somaa2 - somab2);             win2 = true;             res.clear();             res.push_back(make_pair(i, j));           }         }       }     }     if (win2) {       long long ia = res[0].first, ja = res[0].second;       long long somaa2 = somaa0 - a[ia] - a[ja];       long long somab2 = somab0 + a[ia] + a[ja];       for (long long i = 0; i < (long long)m; i++) {         for (long long j = i + 1; j <= m - 1; j++) {           if (abs(somaa2 + 2 * b[i] + 2 * b[j] - somab2) <= melhor) {             res.clear();             res.push_back(make_pair(ia, i));             res.push_back(make_pair(ja, j));           }         }       }     }     cout << melhor <<   n ;     cout << res.size() <<   n ;     for (auto val : res) {       cout << val.first + 1 <<     << val.second + 1 <<   n ;     }     return 0;   }   