import sys

input = sys.stdin.readline

sys.setrecursionlimit(100000000)

INF = 10 ** 10

MOD = 10 ** 9 + 7

from heapq import heapify,heappop,heappush

input = sys.stdin.readline



def main():

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

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

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

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

    i,j,k = 0,0,0

    R.sort(reverse = True)

    G.sort(reverse = True)

    M.sort(reverse = True)

    

    ans = 0

    while i < x and j < y and k < c and k + i + j < x + y:

        tmp = max(R[i],G[j],M[k])

        ans += tmp

        if tmp == R[i]:

            i += 1

        elif tmp == G[j]:

            j += 1

        else:

            k += 1

    

    if i + j + k == x + y:

        print(ans)

        return

    

    elif k == c:

        while i < x and j < y and i + j + c < x + y:

            tmp = max(R[i],G[j])

            ans += tmp

            if tmp == R[i]:

                i += 1

            elif tmp == G[j]:

                j += 1



    if i + j + k == x + y:

        print(ans)

        return            



    elif i == x:

        t = y - k - j

        for _ in range(t):

            if k < c and G[j] < M[k]:

                ans += M[k]

                k += 1

            else:

                ans += G[j]

                j += 1

    elif j == y:

        t = x - i - k

        for _ in range(t):

            if k < c and R[i] < M[k]:

                ans += M[k]

                k += 1

            else:

                ans += R[i]

                i += 1





    

    print(ans)



if __name__=='__main__':

    main()
import sys

input = sys.stdin.readline

sys.setrecursionlimit(100000000)

INF = 10 ** 10

MOD = 10 ** 9 + 7

from heapq import heapify,heappop,heappush

input = sys.stdin.readline



def main():

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

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

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

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

    R.sort(reverse = True)

    G.sort(reverse = True)

    M.sort(reverse = True)

    apple = R[:x] + G[:y] + M

    apple.sort(reverse = True)

    ans = sum(apple[:x + y])

    print(ans)

if __name__=='__main__':

    main()
import sys

input = sys.stdin.readline
sys.setrecursionlimit(100000000)
INF = 10**10
MOD = 10**9 + 7
from heapq import heapify, heappop, heappush

input = sys.stdin.readline


def main():
    x, y, a, b, c = list(map(int, input().split()))
    R = list(map(int, input().split()))
    G = list(map(int, input().split()))
    M = list(map(int, input().split()))
    i, j, k = 0, 0, 0
    R.sort(reverse=True)
    G.sort(reverse=True)
    M.sort(reverse=True)
    ans = 0
    while i < x and j < y and k < c and k + i + j < x + y:
        tmp = max(R[i], G[j], M[k])
        ans += tmp
        if tmp == R[i]:
            i += 1
        elif tmp == G[j]:
            j += 1
        else:
            k += 1
    if i + j + k == x + y:
        print(ans)
        return
    elif k == c:
        while i < x and j < y and i + j + c < x + y:
            tmp = max(R[i], G[j])
            ans += tmp
            if tmp == R[i]:
                i += 1
            elif tmp == G[j]:
                j += 1
    if i + j + k == x + y:
        print(ans)
        return
    elif i == x:
        t = y - k - j
        for _ in range(t):
            if k < c and G[j] < M[k]:
                ans += M[k]
                k += 1
            else:
                ans += G[j]
                j += 1
    elif j == y:
        t = x - i - k
        for _ in range(t):
            if k < c and R[i] < M[k]:
                ans += M[k]
                k += 1
            else:
                ans += R[i]
                i += 1
    print(ans)


if __name__ == "__main__":
    main()

import sys

input = sys.stdin.readline
sys.setrecursionlimit(100000000)
INF = 10**10
MOD = 10**9 + 7
from heapq import heapify, heappop, heappush

input = sys.stdin.readline


def main():
    x, y, a, b, c = list(map(int, input().split()))
    R = list(map(int, input().split()))
    G = list(map(int, input().split()))
    M = list(map(int, input().split()))
    R.sort(reverse=True)
    G.sort(reverse=True)
    M.sort(reverse=True)
    apple = R[:x] + G[:y] + M
    apple.sort(reverse=True)
    ans = sum(apple[: x + y])
    print(ans)


if __name__ == "__main__":
    main()

-    i, j, k = 0, 0, 0 -    ans = 0 -    while i < x and j < y and k < c and k + i + j < x + y: -        tmp = max(R[i], G[j], M[k]) -        ans += tmp -        if tmp == R[i]: -            i += 1 -        elif tmp == G[j]: -            j += 1 -        else: -            k += 1 -    if i + j + k == x + y: -        print(ans) -        return -    elif k == c: -        while i < x and j < y and i + j + c < x + y: -            tmp = max(R[i], G[j]) -            ans += tmp -            if tmp == R[i]: -                i += 1 -            elif tmp == G[j]: -                j += 1 -    if i + j + k == x + y: -        print(ans) -        return -    elif i == x: -        t = y - k - j -        for _ in range(t): -            if k < c and G[j] < M[k]: -                ans += M[k] -                k += 1 -            else: -                ans += G[j] -                j += 1 -    elif j == y: -        t = x - i - k -        for _ in range(t): -            if k < c and R[i] < M[k]: -                ans += M[k] -                k += 1 -            else: -                ans += R[i] -                i += 1 +    apple = R[:x] + G[:y] + M +    apple.sort(reverse=True) +    ans = sum(apple[: x + y])