#include <bits/stdc++.h>
#define ll long long

using namespace std;

void A(){
    ll n,m,k,sum=1;
    cin>>n>>m>>k;
    if(n>k){
        sum*=(n+k-1)/k;
    }
    if(m>k)
        sum*=(m+k-1)/k;
    cout<<sum;
}

void G(){
    string s;
    cin>>s;
    reverse(s.begin(),s.end());
    string c="";
    for(int i=0;i<s.size();i++){
        if(s[i]=='0'){
            s.erase(s.begin()+i);
            i=0;
        }
        else {
            break;
        }
    }
    for(ll i=0;i<s.size();i++){
        if(s[i]=='2')s[i]='5';
        else if(s[i]=='5')s[i]='2';
    }
    if(s[0]=='0')s.erase(s.begin()+0);
    cout<<s;
}

vector < vector <char> > a;
ll n,S,m,mx;
void dfs(ll x, ll y){
    if(x < 0 || y < 0 || x>=n || y>=n) return;
    if(a[x][y]=='.') return;
    if(a[x][y]=='#')
        S++;
    a[x][y]='.';
    dfs(x-1,y);
    dfs(x+1,y);
    dfs(x,y-1);
    dfs(x,y+1);
}

void islands(){
    n=10,m=10;
    a=vector< vector<char> > (n,vector<char> (m));
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++)cin>>a[i][j];
    }
    map<ll,ll> mp;
    ll k=0;
    bool f = false;
    for(int i=1;i<9;i++){
        for(int j=1;j<9;j++){
            if(a[i][j]=='#'){
                if(a[i-1][j-1]=='#' || a[i-1][j+1]=='#' || a[i+1][j-1]=='#' || a[i+1][j+1]=='#'){
                    f=true;
                    break;
                }
            }
        }
        if(f)break;
    }

    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            S=0;
            dfs(i,j);
            mx=max(S,mx);
            if(S!=0)
            {
                k++;
                mp[S]++;
            }
        }
    }
    if(mp[4]==1 && mp[1]==4 && mp[2]==3 && mp[3]==2 && !f && k==10){
            cout<<"YES";
    }
    else cout<<"NO";
}

void E(){
    ll n,m;
    cin>>n>>m;
    vector<ll> a(m);
    map<ll,ll> mp1;
    map<ll,ll> mp;
    for(ll i=0;i<m;i++){
        cin>>a[i];
        if(mp[a[i]]==0){
            mp1[i]=a[i];
        }
        mp[a[i]]++;
    }
    ll k=0;
    for(auto i:mp1){
        if(mp[i.second]>=n){
            k++;
        }
    }
    cout<<k<<endl;
    for(auto i:mp1){
        if(mp[i.second]>=n){
            cout<<i.second<<" ";
        }
    }

}

ll custMax(vector< pair<ll,ll> > a){
    ll mx=LONG_MIN;
    for(int i=0;i<a.size();i++){
        mx=max(a[i].first,mx);
    }
    return mx;
}
void C(){
    ll n;
    cin>>n;
    vector< pair<ll,ll> > a(n);
    for(int i=0;i<n;i++){
        cin>>a[i].first;
    }
    for(int i=0;i<n;i++)cin>>a[i].second;
    ll k=0;
    for(int i=0;i<n;i++){
        if(a[i].first==custMax(a)){
            k+=a[i].second;
            for(int j=0;j<=i;j++){
                a[j].first=0;
            }
        }
    }
    cout<<k;
}
int main()
{
    C();
    return 0;
}
