← Home
#include<bits/stdc++.h>
using namespace std;
#define N 10005
typedef long long ll;
int n,a[N],l,r,b[N],ans,dp[N],p[N],H;
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin>>n>>l>>r;
	for(int i=1;i<=n;++i){
		cin>>a[i];
		H+=a[i];
	}
	for(int i=1;i<=n;++i){
		cin>>b[i];
		p[i]=i;
	}
	sort(p+1,p+n+1,[&](int i,int j){return b[i]^b[j]?b[i]<b[j]:a[i]>a[j];});
	int L=H-r,R=H-l;
	memset(dp,~0x3f,sizeof(dp));
	dp[0]=0;
	for(int i=1;i<=n;++i){
		int u=p[i];
		for(int j=H;j>=a[u];--j){
			dp[j]=max(dp[j],dp[j-a[u]]+b[u]*(j>=L&&j<=R));
		}
	}
	for(int i=1;i<=H;++i)ans=max(ans,dp[i]);
	cout<<ans<<'\n';
	return 0;
}