def max_foes_defeated(n, S, A, Q, K_list): results = [] for K in K_list: max_defeated = 0 for start in range(n): sharpness = K defeated = 0 for i in range(start, n): if sharpness <= 0: break if A[i] <= sharpness: sharpness -= A[i] if S[i] == 'E': defeated += 1 else: break max_defeated = max(max_defeated, defeated) results.append(max_defeated) return results if __name__ == "__main__": n = int(input().strip()) S = input().strip() A = list(map(int, input().strip().split())) Q = int(input().strip()) K_list = [int(input().strip()) for _ in range(Q)] results = max_foes_defeated(n, S, A, Q, K_list) for res in results: print(res)