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

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

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

lst_n = list([int(x)*(-1) for x in input().split()])

from heapq import *



heapify(lst_r)

for i in range(a-x):

    _ = heappop(lst_r)



heapify(lst_g)

for i in range(b-y):

    _ = heappop(lst_g)

    

heapify(lst_n)



while len(lst_n)>0:

    flg = lst_r > lst_g

    cur = -1 * heappop(lst_n)

    if flg and cur > lst_g[0]:

        _ = heappushpop(lst_g,cur)

    elif (not flg) and cur > lst_r[0]:

        _ = heappushpop(lst_r,cur)

    else:

        break

print((sum(lst_g)+sum(lst_r)))
x,y,a,b,c = list(map(int,input().split()))

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

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

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

lst_r = sorted(lst_r, reverse=True)[:x]

lst_g = sorted(lst_g, reverse=True)[:y]

lst_all = sorted(lst_r + lst_g + lst_n, reverse=True)[:x+y]

print((sum(lst_all)))
x, y, a, b, c = list(map(int, input().split()))
lst_r = list(map(int, input().split()))
lst_g = list(map(int, input().split()))
lst_n = list([int(x) * (-1) for x in input().split()])
from heapq import *

heapify(lst_r)
for i in range(a - x):
    _ = heappop(lst_r)
heapify(lst_g)
for i in range(b - y):
    _ = heappop(lst_g)
heapify(lst_n)
while len(lst_n) > 0:
    flg = lst_r > lst_g
    cur = -1 * heappop(lst_n)
    if flg and cur > lst_g[0]:
        _ = heappushpop(lst_g, cur)
    elif (not flg) and cur > lst_r[0]:
        _ = heappushpop(lst_r, cur)
    else:
        break
print((sum(lst_g) + sum(lst_r)))

x, y, a, b, c = list(map(int, input().split()))
lst_r = list(map(int, input().split()))
lst_g = list(map(int, input().split()))
lst_n = list(map(int, input().split()))
lst_r = sorted(lst_r, reverse=True)[:x]
lst_g = sorted(lst_g, reverse=True)[:y]
lst_all = sorted(lst_r + lst_g + lst_n, reverse=True)[: x + y]
print((sum(lst_all)))

-lst_n = list([int(x) * (-1) for x in input().split()]) -from heapq import * - -heapify(lst_r) -for i in range(a - x): -    _ = heappop(lst_r) -heapify(lst_g) -for i in range(b - y): -    _ = heappop(lst_g) -heapify(lst_n) -while len(lst_n) > 0: -    flg = lst_r > lst_g -    cur = -1 * heappop(lst_n) -    if flg and cur > lst_g[0]: -        _ = heappushpop(lst_g, cur) -    elif (not flg) and cur > lst_r[0]: -        _ = heappushpop(lst_r, cur) -    else: -        break -print((sum(lst_g) + sum(lst_r))) +lst_n = list(map(int, input().split())) +lst_r = sorted(lst_r, reverse=True)[:x] +lst_g = sorted(lst_g, reverse=True)[:y] +lst_all = sorted(lst_r + lst_g + lst_n, reverse=True)[: x + y] +print((sum(lst_all)))