#include<bits/stdc++.h>
using namespace std;
#define N 405
int n,m,a[N],v,c1,c2,c3,c4,maxn=-1,ans=0,maxe,dp[N];
int main(){
cin>>n>>m;
for(int i=1;i<=m;++i){
cin>>v;
switch(v){
case(1):{
c1++;
break;
}
case(2):{
c2++;
break;
}
case(3):{
c3++;
break;
}
case(4):{
c4++;
break;
}
}
}
for(int i=1;i<=n;++i){
cin>>a[i];
}
for(int i=1;i<=n;){
maxn=-1;
for(int j=1;j<=4;++j){
switch(j){
case(1):{
if(a[i]>maxn&&c1){
maxn=a[i];
maxe=j;
}
break;
}
case(2):{
if(a[i]>maxn&&c2){
maxn=a[i];
maxe=j;
}
break;
}
case(3):{
if(a[i]>maxn&&c3){
maxn=a[i];
maxe=j;
}
break;
}
case(4):{
if(a[i]>maxn&&c4){
maxn=a[i];
maxe=j;
}
break;
}
}
}
switch(maxe){
case(1):{
if(c1){
c1-=1;
i+=maxe;
ans+=a[i];
}
break;
}
case(2):{
if(c2){
c2-=1;
i+=maxe;
ans+=a[i];
}
break;
}
case(3):{
if(c3){
c3-=1;
i+=maxe;
ans+=a[i];
}
break;
}
case(4):{
if(c4){
c4-=1;
i+=maxe;
ans+=a[i];
}
break;
}
}
}
cout<<ans;
return 0;
}