from heapq import heappop, heapify, heappush





x, y, a, b, c = list(map(int, input().split()))

A = list(map(int, input().split()))

B = list(map(int, input().split()))

C = list(map(int, input().split()))

D = [-i for i in C]

A.sort(reverse=True)

B.sort(reverse=True)

AB = A[:x] + (B[:y])



heapify(AB)

heapify(D)

ans = 0

for _ in range(c):

    d = -heappop(D)

    ab = heappop(AB)

    if ab > d:

        heappush(AB, ab)

        break

    heappush(AB, d)

ans = sum(AB)

print(ans)

x, y, a, b, c = list(map(int, input().split()))

A = list(map(int, input().split()))

B = list(map(int, input().split()))

C = list(map(int, input().split()))

A.sort(reverse=True)

B.sort(reverse=True)

ABC = A[:x] + B[:y] + C

ABC.sort(reverse=True)

print((sum(ABC[:(x+y)])))
from heapq import heappop, heapify, heappush

x, y, a, b, c = list(map(int, input().split()))
A = list(map(int, input().split()))
B = list(map(int, input().split()))
C = list(map(int, input().split()))
D = [-i for i in C]
A.sort(reverse=True)
B.sort(reverse=True)
AB = A[:x] + (B[:y])
heapify(AB)
heapify(D)
ans = 0
for _ in range(c):
    d = -heappop(D)
    ab = heappop(AB)
    if ab > d:
        heappush(AB, ab)
        break
    heappush(AB, d)
ans = sum(AB)
print(ans)

x, y, a, b, c = list(map(int, input().split()))
A = list(map(int, input().split()))
B = list(map(int, input().split()))
C = list(map(int, input().split()))
A.sort(reverse=True)
B.sort(reverse=True)
ABC = A[:x] + B[:y] + C
ABC.sort(reverse=True)
print((sum(ABC[: (x + y)])))

-from heapq import heappop, heapify, heappush - -D = [-i for i in C] -AB = A[:x] + (B[:y]) -heapify(AB) -heapify(D) -ans = 0 -for _ in range(c): -    d = -heappop(D) -    ab = heappop(AB) -    if ab > d: -        heappush(AB, ab) -        break -    heappush(AB, d) -ans = sum(AB) -print(ans) +ABC = A[:x] + B[:y] + C +ABC.sort(reverse=True) +print((sum(ABC[: (x + y)])))