#include <bits/stdc++.h>
typedef long long int ll;
using namespace std;
class s {
public:
ll md(int p,vector<int>& d,vector<int>& h) {
int n=d.size();
vector<pair<double,int>> t(n);
for(int i=0;i<n;i++) {
double k=ceil((double)h[i]/p);
t[i]={k/d[i],i};
}
sort(t.begin(),t.end());
ll td=0;
ll cd=accumulate(d.begin(),d.end(),0ll);
for(int i=0;i<n;i++) {
int idx=t[i].second;
int k=ceil((double)h[idx]/p);
td+=cd*k;
cd-=d[idx];
}
return td;
}
};
int main() {
int p,n;
cin>>p>>n;
vector<int> d(n),h(n);
for(int i=0;i<n;i++) cin>>d[i];
for(int i=0;i<n;i++) cin>>h[i];
s sol;
cout<<sol.md(p,d,h)<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIHMgewpwdWJsaWM6CiAgICBsbCBtZChpbnQgcCx2ZWN0b3I8aW50PiYgZCx2ZWN0b3I8aW50PiYgaCkgewogICAgICAgIGludCBuPWQuc2l6ZSgpOwogICAgICAgIHZlY3RvcjxwYWlyPGRvdWJsZSxpbnQ+PiB0KG4pOwogICAgICAgIAogICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIHsKICAgICAgICAgICAgZG91YmxlIGs9Y2VpbCgoZG91YmxlKWhbaV0vcCk7CiAgICAgICAgICAgIHRbaV09e2svZFtpXSxpfTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgc29ydCh0LmJlZ2luKCksdC5lbmQoKSk7CiAgICAgICAgCiAgICAgICAgbGwgdGQ9MDsKICAgICAgICBsbCBjZD1hY2N1bXVsYXRlKGQuYmVnaW4oKSxkLmVuZCgpLDBsbCk7CiAgICAgICAgCiAgICAgICAgZm9yKGludCBpPTA7aTxuO2krKykgewogICAgICAgICAgICBpbnQgaWR4PXRbaV0uc2Vjb25kOwogICAgICAgICAgICBpbnQgaz1jZWlsKChkb3VibGUpaFtpZHhdL3ApOwogICAgICAgICAgICB0ZCs9Y2QqazsKICAgICAgICAgICAgY2QtPWRbaWR4XTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgcmV0dXJuIHRkOwogICAgfQp9OwoKaW50IG1haW4oKSB7CiAgICBpbnQgcCxuOwogICAgY2luPj5wPj5uOwogICAgdmVjdG9yPGludD4gZChuKSxoKG4pOwoKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIGNpbj4+ZFtpXTsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIGNpbj4+aFtpXTsKCiAgICBzIHNvbDsKICAgIGNvdXQ8PHNvbC5tZChwLGQsaCk8PGVuZGw7CiAgICByZXR1cm4gMDsKfQo=