#include<stdio.h>
#include<math.h>
int main(void)
{
//思路:把每个按降序排列,在做某一科目时,先做时间最长的题目和时间第二长的题目,
//然后会有剩余时间,在和时间第三长的一起做,依此类推,以0作为结束依据
int count[4][21]={0};
int s[4];
int i,j,t,k,max,min_time=0;
for(i=0;i<4;i++)
scanf("%d",&s[i]);
for(i=0;i<4;i++)
for(j=0;j<s[i];j++)
scanf("%d",&count[i][j]);
//整体降序处理
for(i=0;i<4;i++)
{
for(k=0;k<s[i];k++)
{
max=count[i][k];
for(j=k;j<s[i];j++)
{
if(max<count[i][j])
{
t=max;
max=count[i][j];
count[i][j]=t;
count[i][k]=max;
}
}
}
}
//开始计算
for(int i=0 ;i<4;i++)
{
j=0;
t=count[i][0];
while(count[i][j+1])
{
k=(t<count[i][j+1])?t:count[i][j+1]; //三目运算符必须直接跟等号
min_time=min_time+k;
t=abs(t-count[i][j+1]);
j++;
}
min_time=t+min_time;
}
printf("%d",min_time);
return 0;
}