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

"""

Created on Tue Apr 28 22:12:42 2020

"""



import sys

#import numpy as np



sys.setrecursionlimit(10 ** 9)

#def input():

#    return sys.stdin.readline()[:-1]

mod = 10**9+7



#N = int(input())

X, Y, A, B, C = list(map(int,input().split()))

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

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

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



r.sort()

g.sort()

n.sort()



x, y = A-X, B-Y

z = C-1

ans = 0

ans += sum(r[x:])

ans += sum(g[y:])

g.append(10**10)

#print(x,y,z,r[x],g[y],n[z],ans)

while z >= 0:

#    print(x,y,z,r[x],g[y],n[z],ans)

    flg = True

    if x < A and r[x] < n[z] and r[x] < g[y]:

        ans += (n[z] - r[x])

        x += 1

        z -= 1

        flg = False

    elif y < B and g[y] < n[z]:

        ans += (n[z] - g[y])

        y += 1

        z -= 1

        flg = False

    if flg:

        break

#print(x,y,z,r[x],g[y],n[z],ans)

print(ans)



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

"""

Created on Tue Apr 28 22:12:42 2020

"""



import sys

#import numpy as np



sys.setrecursionlimit(10 ** 9)

#def input():

#    return sys.stdin.readline()[:-1]

mod = 10**9+7



#N = int(input())

X, Y, A, B, C = list(map(int,input().split()))

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

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

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



r.sort()

g.sort()



r = r[-X:]

g = g[-Y:]



all_apple = r+g+n

all_apple.sort()

ans = sum(all_apple[-(X+Y):])



print(ans)





# -*- coding: utf-8 -*-
"""
Created on Tue Apr 28 22:12:42 2020
"""
import sys

# import numpy as np
sys.setrecursionlimit(10**9)
# def input():
#    return sys.stdin.readline()[:-1]
mod = 10**9 + 7
# N = int(input())
X, Y, A, B, C = list(map(int, input().split()))
r = list(map(int, input().split()))
g = list(map(int, input().split()))
n = list(map(int, input().split()))
r.sort()
g.sort()
n.sort()
x, y = A - X, B - Y
z = C - 1
ans = 0
ans += sum(r[x:])
ans += sum(g[y:])
g.append(10**10)
# print(x,y,z,r[x],g[y],n[z],ans)
while z >= 0:
    #    print(x,y,z,r[x],g[y],n[z],ans)
    flg = True
    if x < A and r[x] < n[z] and r[x] < g[y]:
        ans += n[z] - r[x]
        x += 1
        z -= 1
        flg = False
    elif y < B and g[y] < n[z]:
        ans += n[z] - g[y]
        y += 1
        z -= 1
        flg = False
    if flg:
        break
# print(x,y,z,r[x],g[y],n[z],ans)
print(ans)

# -*- coding: utf-8 -*-
"""
Created on Tue Apr 28 22:12:42 2020
"""
import sys

# import numpy as np
sys.setrecursionlimit(10**9)
# def input():
#    return sys.stdin.readline()[:-1]
mod = 10**9 + 7
# N = int(input())
X, Y, A, B, C = list(map(int, input().split()))
r = list(map(int, input().split()))
g = list(map(int, input().split()))
n = list(map(int, input().split()))
r.sort()
g.sort()
r = r[-X:]
g = g[-Y:]
all_apple = r + g + n
all_apple.sort()
ans = sum(all_apple[-(X + Y) :])
print(ans)

-n.sort() -x, y = A - X, B - Y -z = C - 1 -ans = 0 -ans += sum(r[x:]) -ans += sum(g[y:]) -g.append(10**10) -# print(x,y,z,r[x],g[y],n[z],ans) -while z >= 0: -    #    print(x,y,z,r[x],g[y],n[z],ans) -    flg = True -    if x < A and r[x] < n[z] and r[x] < g[y]: -        ans += n[z] - r[x] -        x += 1 -        z -= 1 -        flg = False -    elif y < B and g[y] < n[z]: -        ans += n[z] - g[y] -        y += 1 -        z -= 1 -        flg = False -    if flg: -        break -# print(x,y,z,r[x],g[y],n[z],ans) +r = r[-X:] +g = g[-Y:] +all_apple = r + g + n +all_apple.sort() +ans = sum(all_apple[-(X + Y) :])