struct S{ int v; int c; int o; }; S segtree_ph_func(S a,S b){ S r; if(a.oa; a.malloc(n,1); rep(i,n){ char@c; S s; s.v=0; s.c=c==')'; s.o=c=='('; a[i]=s; } a.build(); rep(q){ ll@u; if(u==1){ ll@x--,@t; if(t==1){ if(a[x].c){ S s; s.v=0; s.c=0; s.o=1; a.change(x,s); } }else{ if(a[x].o){ S s; s.v=0; s.c=1; s.o=0; a.change(x,s); } } }else{ ll@l--,@r; wt(a.get(l,r).v*2); } } }