#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, x, y;
	int maxTip=INT_MIN;
	cin>>n>>x>>y;
	vector<int> A, B;
	vector<int> C(n);
	for(int i=0;i<n;i++)
	{
		int element;
		cin>>element;
		A.push_back(element);
	}
	for(int i=0;i<n;i++)
	{
		int element;
		cin>>element;
		B.push_back(element);
	}
	for(int i=0;i<n;i++){
		C[i]=A[i]-B[i];
	}
	int oldSum=0;
	for(int i=0;i<n;i++)
		oldSum+=B[i];
	sort(C.rbegin(), C.rend());
	vector<int> prefix(n,0);
	prefix[0]=C[0];
	for(int i=1;i<=n;i++)
		prefix[i]=prefix[i-1]+C[i];
	//here 'i' is the number of orders so it should go from 0 to n
	for(int i=0;i<n;i++){
		if((i<=x) && (n-i<=y)){
			int newSum = oldSum + prefix[i];
			maxTip=max(newSum, maxTip);
		}
	}
	cout<<maxTip;
	return 0;
}