#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int a[N];
char s[N];
int dp[N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
int m;
cin>>m;
cin>>s;
int op=0;
int cnt=0;
bool f=0;
for(int i=0;i<m;i++)
{
if(!op&&s[i]=='a') op++;
else if(op==3&&s[i]=='a') op=1,cnt++,f=1;
else if(op==1&&s[i]=='b') op++;
else if(op==2&&s[i]=='c')
{
if(f) op++,f=0;
else cnt++,op++;
}
else op=0,cnt=0,f=0;
for(int j=1;j<=cnt;j++)
{
if(op<3)
{
if(i==0)
{
dp[i]=0;
break;
}
else
{
dp[i]=dp[i-1];
break;
}
}
dp[i]=max(dp[i],dp[i-1]+a[j]);
}
}
int maxx=-1e9;
for(int i=0;i<m;i++) maxx=max(maxx,dp[i]);
cout<<maxx;
return 0;
}
help!AC会关