import std.stdio;alias char c;c*p=&*_;c[][]k;c[99]_;void b(){k=[];*p==40?++p,f:*p-91?k~=[*p]:{while(*++p-93)k~=[*p];}();p+=!!*p;k=*p==63?++p,[""]~k:k;}void a(){b;c[][]r=k,q;*p&&*p-'|'&&*p-41&&{a;foreach(i;r)foreach(j;k)q~=i~j;k=r=q;}();}void f(){a;c[][]r=k;k=*p=='|'?++p,f,r~k:k;}void main(){foreach(v;gets=p,f,k)writefln=v;}