#include<bits/stdc++.h>
using namespace std;
int a[200],b[200],cou[5],hou[5],dp[45][45][45][45];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=m;i++){
cin>>b[i];
cou[b[i]]++;
}
int aa=0,bb=0,cc=0,dd=0;
int h=1;
dp[0][0][0][0]=a[1];
while(h<n){
if(aa<=cou[1]){
dp[aa+1][bb][cc][dd]=dp[aa][bb][cc][dd]+a[h]+a[h+1];
h+=1;
}
if(bb<=cou[2]){
dp[aa][bb+1][cc][dd]=dp[aa][bb][cc][dd]+a[h]+a[h+2];
h+=2;
}
if(cc<=cou[3]){
dp[aa][bb][cc+1][dd]=dp[aa][bb][cc][dd]+a[h]+a[h+3];
h+=3;
}
if(dd<=cou[4]){
dp[aa][bb][cc][dd+1]=dp[aa][bb][cc][dd]+a[h]+a[h+4];
h+=4;
}
}
int sum=-9999;
for(int aa=0;aa<=cou[1];aa++)
for(int bb=0;bb<=cou[2];bb++)
for(int cc=0;cc<=cou[3];cc++)
for(int dd=0;dd<=cou[4];dd++)
sum=max(sum,dp[aa][bb][cc][dd]);
cout<<sum;
return 0;
}