data T=L[Char]|T:+T m@main=getLine>>=putStrLn.p.foldl1(&).map L .words>>m L".":+a:+b&c=a&(b&c) x&y=x:+y p(L x)=x p(x:+y)='(':p x++' ':p y++")"
Note that non-ascii characters in the above source code will be escaped (such as \x9f).
download
return to the top page