unittest
{
	assert( [ "1 2 2 2 1", "2 4", "5 1", "3" ].solve == 12 );
	assert( [ "2 2 2 2 2", "8 6", "9 1", "2 1" ].solve == 25 );
	assert( [ "2 2 4 4 4", "11 12 13 14", "21 22 23 24", "1 2 3 4" ].solve == 74 );
}



import std.algorithm;
import std.conv;
import std.format;
import std.range;
import std.stdio;

void main()
{
	stdin.byLineCopy.solve.writeln;
}

auto solve( Range )( Range input )
if( isInputRange!Range && is( ElementType!Range == string ) )
{
	auto x = 0L;
	auto y = 0L;
	auto a = 0L;
	auto b = 0L;
	auto c = 0L;
	input.front.formattedRead!"%s %s %s %s %s"( x, y, a, b, c );
	input.popFront;
	auto ps = input.front.split.to!( long[] );
	input.popFront;
	auto qs = input.front.split.to!( long[] );
	input.popFront;
	auto rs = input.front.split.to!( long[] );
	
	ps.sort;
	qs.sort;
	rs.sort;
	ps = ps[ $ - x .. $ ];
	qs = qs[ $ - y .. $ ];
	
	// 赤か緑のリンゴのうち、美味しくないほうから無色のリンゴに交換
	auto ans = ps.sum + qs.sum;
	ps ~= long.max;
	qs ~= long.max;
	foreach( i; 0L .. min( c, x + y ) )
	{
		if( ps.front < qs.front )
		{
			if( rs.back < ps.front ) break;
			ans += rs.back - ps.front;
			ps.popFront;
			rs.popBack;
		}
		else
		{
			if( rs.back < qs.front ) break;
			ans += rs.back - qs.front;
			qs.popFront;
			rs.popBack;
		}
	}
	return ans;
}
