# -*- coding: utf-8 -*-



import sys

from heapq import heapify, heappop, heappush



def input(): return sys.stdin.readline().strip()

def list2d(a, b, c): return [[c] * b for i in range(a)]

def list3d(a, b, c, d): return [[[d] * c for j in range(b)] for i in range(a)]

def list4d(a, b, c, d, e): return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]

def ceil(x, y=1): return int(-(-x // y))

def INT(): return int(eval(input()))

def MAP(): return list(map(int, input().split()))

def LIST(N=None): return list(MAP()) if N is None else [INT() for i in range(N)]

def Yes(): print('Yes')

def No(): print('No')

def YES(): print('YES')

def NO(): print('NO')

sys.setrecursionlimit(10 ** 9)

INF = 10 ** 18

MOD = 10 ** 9 + 7



X, Y, N, M, L = MAP()

A = LIST()

B = LIST()

C = LIST()



A.sort(reverse=1)

B.sort(reverse=1)

C.sort(reverse=1)



que = []

que += A[:X]

que += B[:Y]

heapify(que)



for c in C:

    mn = heappop(que)

    if c > mn:

        heappush(que, c)

    else:

        heappush(que, mn)

ans = sum(que)

print(ans)

# -*- coding: utf-8 -*-



import sys

from heapq import heapify, heappop, heappush



def input(): return sys.stdin.readline().strip()

def list2d(a, b, c): return [[c] * b for i in range(a)]

def list3d(a, b, c, d): return [[[d] * c for j in range(b)] for i in range(a)]

def list4d(a, b, c, d, e): return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]

def ceil(x, y=1): return int(-(-x // y))

def INT(): return int(eval(input()))

def MAP(): return list(map(int, input().split()))

def LIST(N=None): return list(MAP()) if N is None else [INT() for i in range(N)]

def Yes(): print('Yes')

def No(): print('No')

def YES(): print('YES')

def NO(): print('NO')

sys.setrecursionlimit(10 ** 9)

INF = 10 ** 18

MOD = 10 ** 9 + 7



X, Y, N, M, L = MAP()

A = LIST()

B = LIST()

C = LIST()



A.sort(reverse=1)

B.sort(reverse=1)



que = []

que += A[:X]

que += B[:Y]

heapify(que)



for c in C:

    if c > que[0]:

        heappop(que)

        heappush(que, c)

ans = sum(que)

print(ans)

# -*- coding: utf-8 -*-
import sys
from heapq import heapify, heappop, heappush


def input():
    return sys.stdin.readline().strip()


def list2d(a, b, c):
    return [[c] * b for i in range(a)]


def list3d(a, b, c, d):
    return [[[d] * c for j in range(b)] for i in range(a)]


def list4d(a, b, c, d, e):
    return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]


def ceil(x, y=1):
    return int(-(-x // y))


def INT():
    return int(eval(input()))


def MAP():
    return list(map(int, input().split()))


def LIST(N=None):
    return list(MAP()) if N is None else [INT() for i in range(N)]


def Yes():
    print("Yes")


def No():
    print("No")


def YES():
    print("YES")


def NO():
    print("NO")


sys.setrecursionlimit(10**9)
INF = 10**18
MOD = 10**9 + 7
X, Y, N, M, L = MAP()
A = LIST()
B = LIST()
C = LIST()
A.sort(reverse=1)
B.sort(reverse=1)
C.sort(reverse=1)
que = []
que += A[:X]
que += B[:Y]
heapify(que)
for c in C:
    mn = heappop(que)
    if c > mn:
        heappush(que, c)
    else:
        heappush(que, mn)
ans = sum(que)
print(ans)

# -*- coding: utf-8 -*-
import sys
from heapq import heapify, heappop, heappush


def input():
    return sys.stdin.readline().strip()


def list2d(a, b, c):
    return [[c] * b for i in range(a)]


def list3d(a, b, c, d):
    return [[[d] * c for j in range(b)] for i in range(a)]


def list4d(a, b, c, d, e):
    return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]


def ceil(x, y=1):
    return int(-(-x // y))


def INT():
    return int(eval(input()))


def MAP():
    return list(map(int, input().split()))


def LIST(N=None):
    return list(MAP()) if N is None else [INT() for i in range(N)]


def Yes():
    print("Yes")


def No():
    print("No")


def YES():
    print("YES")


def NO():
    print("NO")


sys.setrecursionlimit(10**9)
INF = 10**18
MOD = 10**9 + 7
X, Y, N, M, L = MAP()
A = LIST()
B = LIST()
C = LIST()
A.sort(reverse=1)
B.sort(reverse=1)
que = []
que += A[:X]
que += B[:Y]
heapify(que)
for c in C:
    if c > que[0]:
        heappop(que)
        heappush(que, c)
ans = sum(que)
print(ans)

-C.sort(reverse=1) -    mn = heappop(que) -    if c > mn: +    if c > que[0]: +        heappop(que) -    else: -        heappush(que, mn)