#include <iostream>
#include <vector>
#include <map>
#include <unordered_map>
using namespace std;
int main(){
int cost;
vector<int> fVec;
vector<int> costVec;
cin >> cost;
int ele;
char c;
while ((cin >> ele).get(c)){
fVec.emplace_back(ele);
if (c == '\n') break;
}
while ((cin >> ele).get(c)) {
costVec.emplace_back(ele);
if (c == '\n') break;
}
map<int, int> m;
unordered_map<int, int> hM;
for (int i = 0; i < fVec.size(); ++i){
m.insert(make_pair(fVec[i], costVec[i]));
hM[fVec[i]]++;
}
for (auto iter = m.begin(); iter != m.end(); ++iter) {
hM[iter->first] *= iter->second ;
if ((iter->second + cost) < hM[iter->first]) {
hM[iter->first] = iter->second + cost;
}
}
int sum = 0;
for (auto iter = hM.begin(); iter != hM.end(); ++iter) {
sum += iter->second;
}
cout << sum << endl;
return 0;
}