#1400. 括号序列

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Corycle

题目描述

一个合法的括号序列是这样定义的:

  1. 空串是合法的。

  2. 如果字符串 S 是合法的,则(S)也是合法的。

  3. 如果字符串 AB 是合法的,则 AB 也是合法的。

现在给定一个长度为 nn 的合法括号序列,请你找到每个左括号所对应的右括号在括号序列中的位置。

例如:给定一个长度为 66 的括号序列 (())() ,那么三个左括号对应的右括号的位置依次为 44 , 33 , 66

输入格式

第一行仅有一个正整数 nn ,表示括号序列的长度。

第二行有一个长度为 nn 的仅由字符 '('')' 所构成的字符串,表示括号序列。

输出格式

仅一行,共 n2\frac{n}{2} 个数,表示序列中从左往右每一个左括号所对应的右括号的位置。

样例

样例输入

6
(())()

样例输出

4 3 6

数据范围与提示

1n1061 \le n \le 10^6 , 保证 nn 为偶数且括号序列合法。