F. Stones 1
time limit per test
1 second
memory limit per test
1024 megabytes
input
standard input
output
standard output

$$$N$$$ stones labeled from $$$1$$$ to $$$N$$$ are arranged in a row in increasing order. Each stone is colored either white or black. The weight of the $$$i$$$-th stone is $$$A_i$$$.

You will remove the stones one at a time until all the stones are removed.

When removing a stone, if the stone is not the leftmost or rightmost of all remaining stones, and neither stone adjacent to the stone being removed matches it in color, your score increases by the weight of the stone being removed. Two stones are adjacent if there are no stones in between those two.

Find a way to remove the stones to maximize your score.

Input

The first line contains a single integer $$$N$$$ ($$$1 \le N \le 300\, 000$$$).

The second line contains a string $$$S$$$ of length $$$N$$$ where each character is either B or W. The $$$i$$$th character of $$$S$$$, $$$S_i$$$, is B if the $$$i$$$-th stone is black, otherwise, $$$S_i$$$ is W and the $$$i$$$-th stone is white.

The third line contains $$$N$$$ integers $$$A_1, A_2, \cdots, A_N$$$ ($$$1 \le A_i \le 10^9$$$). $$$A_i$$$ represents the weight of stone $$$i$$$.

Output

Output the maximum score that can be obtained if you take the stones optimally.

Examples
Input
4
WBWB
6 4 5 3
Output
5
Input
8
WBBWBWBB
6 4 8 2 5 3 1 5
Output
13