#include <iostream>
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
int a[100100],b[100100],c[100100];

int main()
{
    int x,y,A,B,C;
    int i,j;
    ll ans=0;

    scanf("%d%d%d%d%d",&x,&y,&A,&B,&C);
    for(i=1;i<=A;i++)scanf("%d",&a[i]);
    for(i=1;i<=B;i++)scanf("%d",&b[i]);
    for(i=1;i<=C;i++)scanf("%d",&c[i]);
    sort(a+1,a+1+A);
    sort(b+1,b+1+B);
    sort(c+1,c+1+C);

    while(x>0&&a[A]>=c[C]){
        x--;
        ans+=a[A];
        A--;
    }
    while(y>0&&b[B]>=c[C]){
        y--;
        ans+=b[B];
        B--;
    }

    int addi=0;
    while(addi<(x+y)&&x>0&&y>0&&C>0){

        while(C>0&&addi<(x+y)&&c[C]>max(a[A],b[B])){
            ans+=c[C];
            addi++;
            C--;
        }
        //if(addi==x+y)break;
        while(addi<(x+y)&&x>0&&y>0&&c[C]<=max(a[A],b[B])){
            if(a[A]>b[B]){
                x--;
                ans+=a[A];
                A--;
            }
            else{
                y--;
                ans+=b[B];
                B--;
            }
        }
    }
    if(addi!=x+y){
        if(C>0){
            if(x>0){
                x-=addi;
                while(x>0){
                    if(a[A]>c[C]){
                        x--;
                        ans+=a[A];
                        A--;
                    }
                    else {
                        x--;
                        ans+=c[C];
                        C--;
                    }
                }
            }
            else if(y>0){
                y-=addi;
                while(y>0){
                    if(b[B]>c[C]){
                        y--;
                        ans+=b[B];
                        B--;
                    }
                    else {
                        y--;
                        ans+=c[C];
                        C--;
                    }
                }
            }
        }
        else {
            while(addi<(x+y)&&x>0&&y>0){
                if(a[A]>b[B]){
                    x--;
                    ans+=a[A];
                    A--;
                }
                else{
                    y--;
                    ans+=b[B];
                    B--;
                }
            }
            if(addi<x+y){
                if(x>0){
                    x-=addi;
                    while(x>0){
                        if(a[A]>c[C]){
                            x--;
                            ans+=a[A];
                            A--;
                        }
                        else {
                            x--;
                            ans+=c[C];
                            C--;
                        }
                    }
                }
                else if(y>0){
                    y-=addi;
                    while(y>0){
                        if(b[B]>c[C]){
                            y--;
                            ans+=b[B];
                            B--;
                        }
                        else {
                            y--;
                            ans+=c[C];
                            C--;
                        }
                    }
                }
            }
        }
    }

    printf("%lld\n",ans);
    return 0;
}


Measured memory_bytes: 1408