// (0,((#s)&1+(-/+\'s=/:"()")?0))_ s ; mated [dup] dip mate 0 ,. _. ; ; mate [dup] dip [mate.] each/ i - 0 ? 1 + [#:] dip & ; ; mate. [~] each\ ,: 0 [+] under! ; // recursive: ; mated { [a lr] 0 0 a lr mate } ; ; mate { [b i a lr] lr a i @ ? [1 -1 0] @. b + i 1 + a lr mate. } ; ; mate. { [b i a lr] b [b i a lr mate] [0 i a #: & , a _] if } ; \\ "(abc(def)(ghi)(jk(lmn)(op)))rstuvw" "()" mated