from itertools import accumulate from bisect import bisect_right def cumsum(seq, reverse=False) -> list: if reverse: res = cumsum(reversed(seq)) res.reverse() return res return list(accumulate(seq)) N = int(input()) S = input() A = list(map(int, input().split())) Q = int(input()) K = list(map(int, input().split())) t = [0] * Q for i in range(N): ss = cumsum(int(c == 'E') for c in S[i:]) xs = cumsum(A[i:]) for j, k in enumerate(K): p = bisect_right(xs, k) if p > 0: t[j] = max(t[j], ss[p-1]) print(*t, sep='\n')