#include<bits/stdc++.h>
using namespace std;
int n,m,dp[100009],w[100009],v[100009];//定义
int main(){
m=1000;//容量为1000
cin>>n;//注意不要输入m
for(int i=1;i<=n;i++){//分批输入
cin>>w[i];
}
for(int i=1;i<=n;i++){//分批输入
cin>>v[i];
}
for(int i=1;i<=n;i++){
for(int j=w[i];j<=1000;j++){//完全背包
dp[j]=max(dp[j],dp[j-w[i]]+v[i]);//状态转移方程
}
}
cout<<dp[1000];
return 0;
}