一个合法的括号序列是这样定义的:
空串是合法的。
如果字符串 S 是合法的,则(S)也是合法的。
S
(S)
如果字符串 A 和 B 是合法的,则 AB 也是合法的。
A
B
AB
现在给定一个长度为 nnn 的合法括号序列,请你找到每个左括号所对应的右括号在括号序列中的位置。
例如:给定一个长度为 666 的括号序列 (())() ,那么三个左括号对应的右括号的位置依次为 444 , 333 , 666 。
(())()
第一行仅有一个正整数 nnn ,表示括号序列的长度。
第二行有一个长度为 nnn 的仅由字符 '(' 和 ')' 所构成的字符串,表示括号序列。
'('
')'
仅一行,共 n2\frac{n}{2}2n 个数,表示序列中从左往右每一个左括号所对应的右括号的位置。
6 (())()
4 3 6
1≤n≤1061 \le n \le 10^61≤n≤106 , 保证 nnn 为偶数且括号序列合法。