#include using namespace std; #define rep(i,n) for(int i=0;i<(int)(n);i++) #define all(vec) vec.begin(),vec.end() #define MOD 1000000007 #define int long long signed main(){ string s; int n;cin>>n>>s; int a[n+1]; int w[n+1]; w[0]=0; rep(i,n){ w[i+1]=w[i]+(s[i]=='E'); } a[0]=0; rep(i,n){ int r;cin>>r; a[i+1]=a[i]+r; } int q;cin>>q; rep(i,q){ int k; cin>>k; int ans=0; rep(i,n){ auto j=upper_bound(a+i,a+n+1,k+a[i]); int it=j-a-1; //printf("s:%lld it:%lld si:%lld\n",i,w[it],w[i]); ans=max(ans,w[it]-w[i]); } cout<