#include <bits/stdc++.h>
using namespace std;
int A, B, C, D, a[64], b[64], c[64], d[64], timed;
int main() {
cin >> A >> B >> C >> D;
for (int i = 1; i <= A; i++) {
cin >> a[i];
}
for (int i = 1; i <= B; i++) {
cin >> b[i];
}
for (int i = 1; i <= C; i++) {
cin >> c[i];
}
for (int i = 1; i <= D; i++) {
cin >> d[i];
}
if (a[1] < 2) {
for (int i = 1; i <= A; i++) {
timed += a[i];
}
} else if (A == 2) {
if (a[1] < a[2] || a[1] == a[2]) {
timed += a[2];
} else {
timed += a[1];
}
} else if (A == 3) {
int minl[4] = {}, nm = 999;
if (a[1] + a[2] >= a[3]) {
minl[1] += a[1] + a[2];
}
if (a[1] + a[3] >= a[2]) {
minl[2] += a[1] + a[3];
}
if (a[2] + a[3] >= a[1]) {
minl[3] += a[2] + a[3];
}
for (int i = 1; i <= 3; i++) {
if (minl[i] < nm)
nm = minl[i];
timed += nm;
}
} else if (A == 4) {
int minl[10] = {}, nm = 999;
if (a[1] + a[2] >= a[3] + a[4]) {
minl[1] += a[1] + a[2];
}
if (a[2] + a[3] >= a[1] + a[4]) {
minl[2] += a[3] + a[2];
}
if (a[3] + a[4] >= a[1] + a[2]) {
minl[3] += a[3] + a[4];
}
if (a[1] + a[4] >= a[3] + a[2]) {
minl[4] += a[1] + a[4];
}
if (a[1] + a[3] >= a[2] + a[4]) {
minl[5] += a[1] + a[3];
}
if (a[4] + a[2] >= a[3] + a[1]) {
minl[6] += a[4] + a[2];
}
for (int i = 1; i <= 6; i++) {
if (minl[i] < nm)
nm = minl[i];
timed += nm;
}
}
if (b[1] < 2) {
for (int i = 1; i <= B; i++) {
timed += b[i];
}
} else if (B == 2) {
if (b[1] < b[2] || b[1] == b[2]) {
timed += b[2];
} else {
timed += b[1];
}
} else if (B == 3) {
int minl[4] = {}, nm = 999;
if (b[1] + b[2] >= b[3]) {
minl[1] += b[1] + b[2];
}
if (b[1] + b[3] >= b[2]) {
minl[2] += b[1] + b[3];
}
if (b[2] + b[3] >= b[1]) {
minl[3] += b[2] + b[3];
}
for (int i = 1; i <= 3; i++) {
if (minl[i] < nm)
nm = minl[i];
timed += nm;
}
} else if (B == 4) {
int minl[10] = {}, nm = 999;
if (b[1] + b[2] >= b[3] + b[4]) {
minl[1] += b[1] + b[2];
}
if (b[2] + b[3] >= b[1] + b[4]) {
minl[2] += b[3] + b[2];
}
if (b[3] + b[4] >= b[1] + b[2]) {
minl[3] += b[3] + b[4];
}
if (b[1] + b[4] >= b[3] + b[2]) {
minl[4] += b[1] + b[4];
}
if (b[1] + b[3] >= b[2] + b[4]) {
minl[5] += b[1] + b[3];
}
if (b[4] + b[2] >= b[3] + b[1]) {
minl[6] += b[4] + b[2];
}
for (int i = 1; i <= 6; i++) {
if (minl[i] < nm)
nm = minl[i];
timed += nm;
}
}
if (c[1] < 2) {
for (int i = 1; i <= C; i++) {
timed += c[i];
}
} else if (C == 2) {
if (c[1] < c[2] || c[1] == c[2]) {
timed += c[2];
} else {
timed += c[1];
}
} else if (C == 3) {
int minl[4] = {}, nm = 999;
if (c[1] + c[2] >= c[3]) {
minl[1] += c[1] + c[2];
}
if (c[1] + c[3] >= c[2]) {
minl[2] += c[1] + c[3];
}
if (c[2] + c[3] >= c[1]) {
minl[3] += c[2] + c[3];
}
for (int i = 1; i <= 3; i++) {
if (minl[i] < nm)
nm = minl[i];
timed += nm;
}
} else if (C == 4) {
int minl[10] = {}, nm = 999;
if (c[1] + c[2] >= c[3] + c[4]) {
minl[1] += c[1] + c[2];
}
if (c[2] + c[3] >= c[1] + c[4]) {
minl[2] += c[3] + c[2];
}
if (c[3] + c[4] >= c[1] + c[2]) {
minl[3] += c[3] + c[4];
}
if (c[1] + c[4] >= c[3] + c[2]) {
minl[4] += c[1] + c[4];
}
if (c[1] + c[3] >= c[2] + c[4]) {
minl[5] += c[1] + c[3];
}
if (c[4] + c[2] >= c[3] + c[1]) {
minl[6] += c[4] + c[2];
}
for (int i = 1; i <= 6; i++) {
if (minl[i] < nm)
nm = minl[i];
timed += nm;
}
}
if (d[1] < 2) {
for (int i = 1; i <= D; i++) {
timed += d[i];
}
} else if (D == 2) {
if (d[1] < d[2] || d[1] == d[2]) {
timed += d[2];
} else {
timed += d[1];
}
} else if (D == 3) {
int minl[4] = {}, nm = 999;
if (d[1] + d[2] >= d[3]) {
minl[1] += d[1] + d[2];
}
if (d[1] + d[3] >= d[2]) {
minl[2] += d[1] + d[3];
}
if (d[2] + d[3] >= d[1]) {
minl[3] += d[2] + d[3];
}
for (int i = 1; i <= 3; i++) {
if (minl[i] < nm)
nm = minl[i];
timed += nm;
}
} else if (D == 4) {
int minl[10] = {}, nm = 999;
if (d[1] + d[2] >= d[3] + d[4]) {
minl[1] += d[1] + d[2];
}
if (d[2] + d[3] >= d[1] + d[4]) {
minl[2] += d[3] + d[2];
}
if (d[3] + d[4] >= d[1] + d[2]) {
minl[3] += d[3] + d[4];
}
if (d[1] + d[4] >= d[3] + d[2]) {
minl[4] += d[1] + d[4];
}
if (d[1] + d[3] >= d[2] + d[4]) {
minl[5] += d[1] + d[3];
}
if (d[4] + d[2] >= d[3] + d[1]) {
minl[6] += d[4] + d[2];
}
for (int i = 1; i <= 6; i++) {
if (minl[i] < nm)
nm = minl[i];
timed += nm;
}
}
cout << timed;
return 0;
}