#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include <vector>
#include<algorithm>
using namespace std;
int s1, s2, s3, s4;
vector<int>a, b, c, d;
int state[2];
long long sum = 0;
inline int min(int a, int b) {
return a > b ? b : a;
}
inline int max(int a, int b) {
return a > b ? a : b;
}
void resolve(int s, vector<int>& r) {
for (int i = 0; i < s; ) {
if (state[0] == 0) {
state[0] = r[i];
i++;
}
if (i <= s - 1 && state[1] == 0) {
state[1] = r[i];
i++;
}
int minn = min(state[0], state[1]);
if (minn) {
state[0] -= minn;
state[1] -= minn;
sum += minn;
}
}
sum += max(state[0], state[1]);
state[0] = 0;
state[1] = 0;
}
int main() {
int num;
scanf("%d%d%d%d", &s1, &s2, &s3, &s4);
for (int i = 1; i <= s1; ++i) {
scanf("%d", &num);
a.push_back(num);
}
for (int i = 1; i <= s2; ++i) {
scanf("%d", &num);
b.push_back(num);
}
for (int i = 1; i <= s3; ++i) {
scanf("%d", &num);
c.push_back(num);
}
for (int i = 1; i <= s4; ++i) {
scanf("%d", &num);
d.push_back(num);
}
resolve(s1, a);
resolve(s2, b);
resolve(s3, c);
resolve(s4, d);
printf("%lld", sum);
return 0;
}