from bisect import * N = int(input()) S = list(input()) A = list(map(int, input().split())) D = [0] * N for i, s in enumerate(S): if s == "E": D[i] = 1 Ac, Dc = [0] * (N + 1), [0] * (N + 1) for i in range(N): Ac[i + 1] = Ac[i] + A[i] Dc[i + 1] = Dc[i] + D[i] Q = int(input()) K = list(map(int, input().split())) for q in K: ans = 0 for i in range(N + 1): ind = bisect_right(Ac, Ac[i] + q) ans = max(ans, Dc[ind-1] - Dc[i]) print(ans)