X,Y,A,B,C=io.read("*n","*n","*n","*n","*n")
p,q,r={},{},{}
for i=1,A do p[i]=io.read"*n" end
for i=1,B do q[i]=io.read"*n" end
for i=1,C do r[i]=io.read"*n" end
table.sort(p)
table.sort(q)
table.sort(r)
sum=0
local function mymax(x,y,z,A,B)
	if(x>y)then
		if(x>=z)then
			return 1,x
		else
			return 3,z
		end
	else
		if(y>=z)then
			return 2,y
		else
			return 3,z
		end
	end
end
while(true)do
	if(X==0)then
		for i=1,Y do
			if(q[B]<(r[C] or 0))then
				sum=sum+r[C]
				C=C-1
			else
				sum=sum+q[B]
				B=B-1
			end
		end
		print(sum)break
	elseif(Y==0)then
		for i=1,X do
			if(p[A]<(r[C] or 0))then
				sum=sum+r[C]
				C=C-1
			else
				sum=sum+p[A]
				A=A-1
			end
		end
		print(sum)break
	end
	local n,v=mymax(p[A],q[B],r[C])
	sum=sum+v
	if(n==1)then
		A=A-1
		X=X-1
	elseif(n==2)then
		B=B-1
		Y=Y-1
	else
		if(p[A]<q[B])then
			X=X-1
		else
			Y=Y-1
		end
		C=C-1
	end
end