n = int(input()) s = input() a = [int(i) for i in input().split()] enemy = [0] for i in s: enemy.append(enemy[-1] + (i == "E")) hp = [0] for i in a: hp.append(hp[-1] + i) def max_ok(i, beam): ok = i ng = n+1 while abs(ok-ng) > 1: m = (ok+ng)//2 if hp[m] - hp[i] <= beam: ok = m else: ng = m return enemy[ok] - enemy[i] q = int(input()) for k in [int(i) for i in input().split()]: ma = 0 for i in range(n): ma = max(ma, max_ok(i, k)) print(ma)