data V=L(V->V)|S{s::String} m@main=getLine>>=putStrLn.s.foldl1(!).map(S).words>>m L a!b=a b S"."!b=L$L.((b!).).(!) S a!S b=S$'(':a++' ':b++")"