#include<iostream>
#include<algorithm>
using namespace std;
const int N = 30;
int a[N], b[N], c[N], d[N];
int s1, s2, s3, s4, ret;
template<typename T,typename T2>
void times(T2 x,T m, T n)
{
int k = n - m + 1;
if (k % 2 == 0)
{
if (k == 2)
{
ret += x[n];
return;
}
x[n] = x[m] + x[n];
times(x,m + 1, n);
}
else if (k == 1) { ret += x[n]; return; }
else
{
x[m] = x[m] + x[m + 1];
x[m + 1] = 0;
sort(x, x + n + 1);
times(x,m + 1, n);
}
}
int main()
{
cin >> s1 >> s2 >> s3 >> s4;
for (int i = 1; i <= s1; i++)
{
cin >> a[i];
}
for (int i = 1; i <= s2; i++)
{
cin >> b[i];
}
for (int i = 1; i <= s3; i++)
{
cin >> c[i];
}
for (int i = 1; i <= s4; i++)
{
cin >> d[i];
}
sort(a, a + s1+1);
sort(b, b + s2+1);
sort(c, c + s3+1);
sort(d, d + s4+1);
times(a, 1, s1);
times(b, 1, s2);
times(c, 1, s3);
times(d, 1, s4);
cout << ret;
}