local x, y = io.read("*n", "*n")
local a, b, c = io.read("*n", "*n", "*n")
local 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, function(x, y) return x > y end)
table.sort(q, function(x, y) return x > y end)
table.sort(r, function(x, y) return x > y end)
local redsum = 0LL
for i = 1, x do
  redsum = redsum + p[i]
end
local greensum = 0LL
for i = 1, y do
  greensum = greensum + q[i]
end
local redpos, greenpos = x, y
local totsum = redsum + greensum
for i = 1, c do
  local changed = false
  local cv = r[i]
  if 0 < redpos and 0 < greenpos then
    if p[redpos] < q[greenpos] then
      if p[redpos] < cv then
        totsum = totsum - p[redpos] + cv
        redpos = redpos - 1
        changed = true
      end
    else
      if q[greenpos] < cv then
        totsum = totsum - q[greenpos] + cv
        greenpos = greenpos - 1
        changed = true
      end
    end
  elseif 0 < redpos then
    if p[redpos] < cv then
      totsum = totsum - p[redpos] + cv
      redpos = redpos - 1
      changed = true
    end
  elseif 0 < greenpos then
    if q[greenpos] < cv then
      totsum = totsum - q[greenpos] + cv
      greenpos = greenpos - 1
      changed = true
    end
  end
  if not changed then break end
end
local str = tostring(totsum):gsub("LL", "")
print(str)
