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