#include<bits/stdc++.h>
using namespace std;
#define M 2
bool cmp(int x,int y){
return x>y;
}
long long s1,s2,s3,s4,a[30],b[30],c[30],d[30],ans,s[30],min_num,minn=2e9;
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+1,a+s1+1,cmp);
sort(b+1,b+s2+1,cmp);
sort(c+1,c+s3+1,cmp);
sort(d+1,d+s4+1,cmp);
for(int i=1;i<=M;i++) s[i]+=a[i];
for(int i=M+1;i<=s1;i++){
minn=2e9;
for(int j=1;j<=M;j++){
if(minn>s[j]){
minn=s[j];
min_num=j;
}
}
s[min_num]+=a[i];
}
sort(s+1,s+M+1,cmp);
ans+=s[1];
memset(s,0,sizeof s);
minn=2e9;
for(int i=1;i<=M;i++) s[i]+=b[i];
for(int i=M+1;i<=s2;i++){
minn=2e9;
for(int j=1;j<=M;j++){
if(minn>s[j]){
minn=s[j];
min_num=j;
}
}
s[min_num]+=b[i];
}
sort(s+1,s+M+1,cmp);
ans+=s[1];
memset(s,0,sizeof s);
minn=2e9;
for(int i=1;i<=M;i++) s[i]+=c[i];
for(int i=M+1;i<=s3;i++){
minn=2e9;
for(int j=1;j<=M;j++){
if(minn>s[j]){
minn=s[j];
min_num=j;
}
}
s[min_num]+=c[i];
}
sort(s+1,s+M+1,cmp);
ans+=s[1];
memset(s,0,sizeof s);
minn=2e9;
for(int i=1;i<=M;i++) s[i]+=d[i];
for(int i=M+1;i<=s4;i++){
minn=2e9;
for(int j=1;j<=M;j++){
if(minn>s[j]){
minn=s[j];
min_num=j;
}
}
s[min_num]+=d[i];
}
sort(s+1,s+M+1,cmp);
ans+=s[1];
memset(s,0,sizeof s);
cout<<ans;
return 0;
}