#include<bits/stdc++.h>
using namespace std;
int n,m,a[355],book[10],t;
int dp(int x){
int ans=0;
if(x==1){
return a[1];
}
if(book[1]>=1){
ans=max(ans,dp(x-1)+a[x]);
book[1]--;
}
if(book[2]>=1){
ans=max(ans,dp(x-2)+a[x]);
book[2]--;
}
if(book[3]>=1){
ans=max(ans,dp(x-3)+a[x]);
book[3]--;
}
if(book[4]>=1){
ans=max(ans,dp(x-4)+a[x]);
book[4]--;
}
return ans;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=m;i++){
cin>>t;
book[t]++;
}
cout<<dp(n);
return 0;
}