void main(){ import std.stdio, std.string, std.conv, std.algorithm; import std.container; int n; rd(n); auto s=readln.chomp.to!(char[]); auto pos=new size_t[](n); auto lis=new DList!(size_t); foreach(i, c; s){ if(c=='(') lis.insertFront(i); else pos[i]=lis.front+1, pos[lis.front]=i+1, lis.removeFront; } writefln("%(%d\n%)", pos); } void rd(T...)(ref T x){ import std.stdio, std.string, std.conv; auto l=readln.split; assert(l.length==x.length); foreach(i, ref e; x){ e=l[i].to!(typeof(e)); } }