s **lil*, $ .=$ *=$ _, s ,.*,ahc,, $ ,= $ _, $ *= join'' ,sort split q **, $*; s ?.*?grr? ? s?(.(.)).?$2$1? : m:(.+),: ? s?.((.).)?$1$2? : s::$&: ; $ ;=$ _; $ .= $ ,,$ ,= m,{?($1)},;$ ,.=chop for split q ,,,reverse$ .;print for($ ,,$ ;,$*,$/)