#include<bits/stdc++.h>
using namespace std;
struct node{
int t,v;
}a[505];
int vis[505];
bool cmp(node a,node b){
return a.v>b.v;
}
int main(){
int m,n;
cin>>m>>n;
for(int i=1;i<=n;i++){
cin>>a[i].t;
}
for(int i=1;i<=n;i++){
cin>>a[i].v;
}
sort(a+1,a+n+1,cmp);
int ans=0,t=0;
for(int i=1;i<=n;i++){
int flag=0;
for(int j=a[i].t;j!=0;j--){
if(vis[j]==0){
vis[j]=1;
flag=1;
break;
}
}
if(flag==0){
for(int j=n;j!=0;j--){
if(vis[j]==0){
vis[j]=1;
break;
}
}
ans+=a[i].v;
}
}
cout<<m-ans;
return 0;
}