#include<bits/stdc++.h>
using namespace std;
long long k,g,n,m,t[10005],f[10005],cnt,maxx=-10005;
void dp(long long id){
if(id>=n){
maxx=max(maxx,cnt);
return;
}
for(long long i=1;i<=m;i++){
cnt+=f[id];
dp(id+t[i]);
cnt-=f[id];
}
}
int main(){
cin>>n>>m;
for(long long i=1;i<=m;i++){
cin>>t[i];
}
for(long long i=0;i<n;i++){
cin>>f[i];
}
dp(0);
cout<<maxx;
return 0;
}