#include #define rep(i,n) for(int i=(0);i<(n);i++) using namespace std; typedef long long ll; int n; string s; vector a; vector b; vector sco; int solve(ll k){ int ans = 0; rep(i, n){ auto itr = upper_bound(b.begin(), b.end(), b[i] + k); itr--; int p = itr - b.begin(); ans = max(ans, sco[p] - sco[i]); } return ans; } int main(){ cin.tie(0); ios::sync_with_stdio(false); cin >> n; cin >> s; a.resize(n); rep(i, n) cin >> a[i]; b.resize(n+1, 0); rep(i, n) b[i+1] = b[i] + a[i]; sco.resize(n+1, 0); rep(i, n) sco[i+1] = sco[i] + (s[i] == 'E' ? 1 : 0); int q; cin >> q; vector k(q); rep(i, q) cin >> k[i]; rep(i, q) cout << solve(k[i]) << "\n"; }