#include<bits/stdc++.h>
using namespace std;
const int N=5*1e6+10;
int b[N];
struct rec{
int l,r;
}a[510];
int sb(rec x,rec y){
return x.r>y.r;
}
int main(){
int m,n,flag,sum;
scanf("%d%d", &m, &n);
sum=m;
for(int i=1;i<=n;i++){
scanf("%d", &a[i].l);
}
for(int i=1;i<=n;i++){
scanf("%d", &a[i].r);
}
sort(a+1,a+n+1,sb);
for(int i=1;i<=n;i++){
flag=1;
for(int j=a[i].l;j>=1;j--){
if(b[j]==0){
flag=0;
b[j]=1;
break;
}
}
if(flag){
for(int j=n;j>=1;j--){
if(b[j]==0){
b[j]=1;
break;
}
}
sum-=a[i].r;
}
}
printf("%d", sum);
return 0;
}