func_code_string: #include<bits/stdc++.h>   #include<unordered_map>   using namespace std;   typedef long long ll;   typedef vector<ll> vll;   const ll M = 1000000007;      bool compare(vll x, vll y) {       if (x[0] < y[0]) {           return true;       }       return false;   }   void solve() {       vector<vll> v(3);       ll n1, n2, n3;       cin >> n1 >> n2 >> n3;       vll v1(n1), v2(n2), v3(n3);       ll f1 = 0, f2 = 0;       ll tsum = 0;       for (ll i = 0; i < n1; i++) {           cin >> v1[i];           tsum += v1[i];       }       for (ll i = 0; i < n2; i++) {           cin >> v2[i];           tsum += v2[i];       }       for (ll i = 0; i < n3; i++) {           cin >> v3[i];           tsum += v3[i];       }       sort(v1.begin(), v1.end());       sort(v2.begin(), v2.end());       sort(v3.begin(), v3.end());       v[0] = v1;       v[1] = v2;       v[2] = v3;       sort(v.begin(), v.end(), compare);       // for (int i = 0; i < 3; i++) {           for (int j = 1; j < v[0].size(); j++) {               f1 += v[0][j];           }           for (int j = 1; j < v[1].size(); j++) {               f2 += v[1][j];           }       // }       ll sub = 0;       if (f1 == 0) {           sub = 2 * v[0][0];       } else if (f1 > 0 && f2 == 0) {           if (v[1][0] > f1) {               sub = 2 * v[0][0] + 2 * f1;           } else {               sub = 2 * v[1][0];           }       } else {           sub = 2 * min(f2, v[0][0]) + 2 * min(f1, v[1][0]);       }              if (v[2].size() == 1) {           sub = min(sub , 2 * v[2][0]);       }       cout << tsum - sub << endl;   }      int main() {       ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);       // This macro supported by cc, cf, cses       #ifndef ONLINE_JUDGE           freopen( in.txt ,  r , stdin);           freopen( out.txt ,  w , stdout);       #endif       // int tt;       // cin >> tt;       // for(int i = 1; i <= tt; i++) {           solve();       // }       return 0;   }