with text_io;use text_io;procedure a is s:string:=get_line&'/';procedure f(a:string;p:integer)is b,q:integer:=p+1;begin if'/'=s(p)then put_line(a);elsif'('=s(p)then for i in b..99 loop if')'=s(i)then q:=i+1;if'?'=s(q)then q:=q+1;f(a,q);end if;exit;end if;end loop;for i in b..q loop if')'=s(i)or'|'=s(i)then f(a&s(b..i-1),q);b:=i+1;end if;end loop;elsif'['=s(p)then for j in q..99 loop if']'=s(j)then q:=j+1;if'?'=s(q)then q:=q+1;f(a,q);end if;for i in p+1..j-1 loop f(a&s(i),q);end loop;exit;end if;end loop;else if'?'=s(q)then q:=q+1;f(a,q);end if;f(a&s(p),q);end if;end;begin f("",1);end;