n = int(input().strip()) s = input().strip() a = list(map(int, input().split())) q = int(input().strip()) kq = list(map(int, input().split())) max_k = max(kq) pairs = [] for i in range(n): total = 0 cnt = 0 for j in range(i, n): total += a[j] if total > max_k: break if s[j] == 'E': cnt += 1 pairs.append((total, cnt)) pairs.sort() best = [] mx = 0 for sm, c in pairs: mx = max(mx, c) best.append((sm, mx)) import bisect sums = [x[0] for x in best] vals = [x[1] for x in best] for k in kq: idx = bisect.bisect_right(sums, k) - 1 if idx >= 0: print(vals[idx]) else: print(0)