
#include <bits/stdc++.h>

#define ll long long
#define PB push_back
#define MP make_pair
#define F first
#define S second

#define REP(i, n) for(int i=0;i<(int)(n);++i)
#define FOR(i,l,h) for(int i=(int)(l);i<=(int)(h);++i)
#define FORD(i,h,l) for(int i=(int)(h);i>=(int)(l);--i)

//#define max(a,b) a>b?a:b
//#define min(a,b) a>b?b:a

ll gcd(ll a, ll b) { return !b ? a : gcd(b, a % b); }
ll lcm(ll a, ll b) { return (a / gcd(a, b)) * b; }

#define dump(x)  cerr << #x << " = " << (x) << endl
#define ALL(t) (t).begin(),(t).end()
#define ALLR(t) (t).rbegin(),(t).rend()



using namespace std;

#define error(args...) { string _s = #args; replace(_s.begin(), _s.end(), ',', ' '); stringstream _ss(_s); istream_iterator<string> _it(_ss); err(_it, args); }

void err(istream_iterator<string> it) {}
template<typename T, typename... Args>
void err(istream_iterator<string> it, T a, Args... args) {
	cerr << *it << " = " << a << endl;
	err(++it, args...);
}

int sum() { return 0; }

template<typename T, typename... Args>
T sum(T a, Args... args) { return a + sum(args...); }

const int dx4[4] = {0, 0, 1, -1};
const int dy4[4] = {-1, 1, 0, 0};
const int dx8[8] = {-1, -1, -1, 0, 1, 1, 1, 0};
const int dy8[8] = {-1, 0, 1, 1, 1, 0, -1, -1};



void test_case(){
	ll n1,n2,n3;cin>>n1>>n2>>n3;
	std::vector<ll> bag1(n1) , bag2(n2),bag3(n3);
	ll mn1 = 1e15;
	ll mn2 = mn1, mn3 = mn1;
	ll sum1 = 0,sum2 =0,sum3 = 0;
	REP(i,n1){
		cin>>bag1[i];
		mn1 = min(mn1 , bag1[i]);
		sum1 += bag1[i];
	}
	REP(i,n2){
		cin>>bag2[i];
		mn2 = min(mn2 , bag2[i]);
		sum2 += bag2[i];
	}
	REP(i,n3){
		cin>>bag3[i];
		mn3 = min(mn3 , bag3[i]);
		sum3 += bag3[i];
	}

	ll tot = (ll)((ll)sum1 + (ll)sum2 + (ll)sum3);
	ll ans = 0;
	// mn1 < mn2 < mn3
	ans= max(ans , tot - (ll)2*(mn1 + mn2));
	ans= max(ans , tot - (ll)2*( sum1 ));
	ans = max(ans,  tot - (ll)2*(mn1 + mn3));
	//ans = max(ans , tot - (ll)2*(sum1));
	ans = max(ans , tot - (ll)2*(mn2 + mn1));
	ans = max(ans , tot - (ll)2*(sum2));
	ans = max(ans , tot - (ll)2*(mn2 + mn3));
	//ans = max(ans , tot - (ll)2*(sum2));
	ans = max(ans , tot - (ll)2*(mn3 + mn1));
	ans = max(ans , tot - (ll)2*(sum3));
	ans = max(ans , tot - (ll)2*(mn3 + mn2));
	/*
	if(mn1 <= mn2 && mn1 <= mn3){
		if(mn2 <= mn3){
			if((sum1 - mn1) >= mn2){
				ans = tot - (ll)2*(mn1 + mn2);
			}
			else{
				ans = tot - (ll)2*( sum1 );
			}
		}// mn1 < mn3 < mn2
		else{
			if((sum1 - mn1) >= mn3){
				ans = tot - (ll)2*(mn1 + mn3);
			}
			else{
				ans = tot - (ll)2*(sum1);
			}
		}
	}
	else if(mn2 <= mn1 && mn2 <= mn3){
		if(mn1 <= mn3){
			// mn2 < mn1 < mn3
			if((sum2 - mn2) >= mn1){
				ans = tot - (ll)2*(mn2 + mn1);
			}
			else{
				ans = tot - (ll)2*(sum2);
			}
		}
		else{
			// mn2< mn3 < mn1
			if((sum2 - mn2) >= mn3){
				ans = tot - (ll)2*(mn2 + mn3);
			}
			else{
				ans = tot - (ll)2*(sum2);
			}
		}
	}
	else if(mn3 <= mn1 && mn3 <= mn2){
		if(mn1 <= mn2 ){
			// mn3 < mn1 < mn2
			if((sum3 - mn3 )>= mn1){
				ans = tot - (ll)2*(mn3 + mn1);
			}
			else{
				ans = tot - (ll)2*(sum3);
			}
		}
		else{
			// mn3 < mn2 < mn1
			if((sum3 - mn3) >= mn2){
				ans = tot - (ll)2*(mn3 + mn2);
			}
			else{
				ans = tot - (ll)2*(sum3);
			}
		}
	}
	*/

	cout<<ans<<"\n";


}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
	cout.tie(NULL);
    int t= 1;//cin>>t;
    while (t--){
		test_case();
    }
return 0;
}
