#include<stdio.h>
#include<string.h>
#include<math.h>
void quick(int a[],int left,int right);
void quick(int a[],int left,int right)
{
int i=left,j=right;
int min=a[(left+right)/2];
int m;
while(i<=j)
{
while(a[i]<min)
{
i++;
}
while(a[j]>min)
{
j--;
}
if(i<=j)
{
m=a[i];
a[i]=a[j];
a[j]=m;
i++;
j--;
}
}
if(j>left)
{
quick( a,left,j);
}
if(right>i)
{
quick( a,i,right);
}
}
int se(int a[],int len);
int se(int a[],int len)
{
quick(a,1,len);
int i=1,n=0;
for(i=1;i<=len;i++)
{
n=n+a[i];
}
int m=0,u=0;
if(len==1)
{
u=0;
}else
{
u=n-2*a[1];
m=a[1];
for(i=2;i<=len;i++)
{
m=m+a[i];
if(fabs(n-2*m)<u)
{
u=fabs(n-2*m);
}
}
u=(n-u)/2;
}
return n-u;
}
int main()
{
int s1,s2,s3,s4;
int res=0;
scanf("%d %d %d %d",&s1,&s2,&s3,&s4);
int a[s1+1];
int b[s2+1];
int c[s3+1];
int d[s4+1];
int i=1;
for(i=1;i<=s1;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<=s2;i++)
{
scanf("%d",&b[i]);
}
for(i=1;i<=s3;i++)
{
scanf("%d",&c[i]);
}
for(i=1;i<=s4;i++)
{
scanf("%d",&d[i]);
}
res=res+se(a,s1)+se(b,s2)+se(c,s3)+se(d,s4);
printf("%d",res);
return 0;
}