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++")"