Valera has array $*a*$, consisting of $*n*$ integers $*a*_{0}, *a*_{1}, ..., *a*_{*n* - 1}$, and function $*f*(*x*)$, taking an integer from $0$ to $2^{*n*} - 1$ as its single argument. Value $*f*(*x*)$ is calculated by formula
, where value $*bit*(*i*)$ equals one if the binary representation of number $*x*$ contains a $1$ on the $*i*$-th position, and zero otherwise.
For example, if $*n* = 4$ and $*x* = 11$ $(11 = 2^{0} + 2^{1} + 2^{3})$, then $*f*(*x*) = *a*_{0} + *a*_{1} + *a*_{3}$.
Help Valera find the maximum of function $*f*(*x*)$ among all $*x*$, for which an inequality holds: $0 ≤ *x* ≤ *m*$.
Input
The first line contains integer $*n*$ $(1 ≤ *n* ≤ 10^{5})$ — the number of array elements. The next line contains $*n*$ space-separated integers $*a*_{0}, *a*_{1}, ..., *a*_{*n* - 1}$ $(0 ≤ *a*_{*i*} ≤ 10^{4})$ — elements of array $*a*$.
The third line contains a sequence of digits zero and one without spaces $*s*_{0}*s*_{1}... *s*_{*n* - 1}$ — the binary representation of number $*m*$. Number $*m*$ equals
.
Output
Print a single integer — the maximum value of function $*f*(*x*)$ for all
.
Note
In the first test case $*m* = 2^{0} = 1, *f*(0) = 0, *f*(1) = *a*_{0} = 3$.
In the second sample $*m* = 2^{0} + 2^{1} + 2^{3} = 11$, the maximum value of function equals $*f*(5) = *a*_{0} + *a*_{2} = 17 + 10 = 27$.
样例
2
3 8
10
3
5
17 0 10 2 1
11010
27
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。