#include<bits/stdc++.h>
using namespace std;
long long n,a[105],m;
string s;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
cin>>m>>s;
long long sum=0,ans=0;
for(int i=0;i<s.size()-2;i++){
if(s[i]'a'&&s[i+1]'b'&&s[i+2]=='c'){
i+=2;
ans++;
}else{
long long dp[100005];
for(int j=1;j<=ans;j++){
for(int k=j;k<=ans;k++){//完全背包
dp[k]=max(dp[k],dp[k-j]+a[j]);
}
}
sum+=dp[ans];
ans=0;
}
}
long long dp[100005];
for(int j=1;j<=ans;j++){//防止最后三个数是'a''b''c'但还未算
for(int k=j;k<=ans;k++){
dp[k]=max(dp[k],dp[k-j]+a[j]);
}
}
cout<<sum+dp[ans];
}