#include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = int64_t; using u32 = uint32_t; using namespace std; template constexpr T INF = ::numeric_limits::max()/32*15+208; int main() { int n; string s; cin >> n >> s; stack S; vector ans(n); for (int i = 0; i < n; ++i) { if(s[i] == '(') S.emplace(i); else { ans[S.top()] = i+1; ans[i] = S.top()+1; S.pop(); } } for (auto &&i : ans) printf("%d\n", i); return 0; }