#include<bits/stdc++.h>
using namespace std;
int q[4],t[21][21],w,i,Kimi,Meno[2];
vector<int> qwe;
int dfs(int Kimi){
if(Kimi==0){
if(q[i]==1)return t[i][1];
if(q[i]==2){
return max(t[i][1],t[i][2]);
}
}
else{
sort(qwe.begin(),qwe.end());
if(qwe.size()==0){
return max(Meno[1],Meno[2]);
}
sort(Meno+1,Meno+2);
Meno[1]+=qwe[qwe.size()];
if(qwe.size()!=0){
Meno[2]+=qwe[qwe.size()-1];
}
return dfs(Kimi+1);
}
}
int main(){
cin>>q[1]>>q[2]>>q[3]>>q[4];
for(int c=1;c<=q[1];c++)cin>>t[1][c];
for(int c=1;c<=q[2];c++)cin>>t[2][c];
for(int c=1;c<=q[3];c++)cin>>t[3][c];
for(int c=1;c<=q[4];c++)cin>>t[4][c];
for(i=1;i<=4;i++){
for(int c=1;c<=q[i];c++){
int yu=t[i][c];
qwe.push_back(yu);
}
w+=dfs(0);
qwe.erase(qwe.begin()+qwe.size());
}
cout<<w;
}