#include<bits/stdc++.h>
#include<cstring>
using namespace std;
struct aaa
{
int t[1100],n;
};
aaa xt[5];
void kp(int arry [],int l,int r)
{
int p,a=l,b=r,mid=(r+l)/2;
p=arry[mid];
while(l<=r)
{
while(arry[r]>p)
{
r--;
}
while(arry[l]<p)
{
l++;
}
if(l<=r)
{
swap(arry[l],arry[r]);
l++;
r--;
}
}
if(a<r)kp(arry,a,r);
if(l<b)kp(arry,l,b);
}
void shuru(int x)
{
for(int i=1;i<=xt[x].n;i++)
{
cin>>xt[x].t[i];
}
}
int js(int x)
{
int l=1,r=xt[x].n,suml=0,sumr=0;
if(r==1)return xt[x].t[1];
if(r==2)return max(xt[x].t[1],xt[x].t[2]);
kp(xt[x].t,1,r);
suml=xt[x].t[l];
sumr=xt[x].t[r];
while(l<r)
{
if(suml<=sumr)
{
l++;
suml+=xt[x].t[l];
}
else
{
r--;
sumr+=xt[x].t[r];
}
if(r-1==l)goto tp;
}
tp:return max(suml,sumr);
}
int main()
{
int tz;
cin>>xt[1].n>>xt[2].n>>xt[3].n>>xt[4].n;
shuru(1);shuru(2);shuru(3);shuru(4);
tz=js(1)+js(2)+js(3)+js(4);
cout<<tz;
return 0;
}