for(c<-" "*50;a=readLine split c)println(a map(s=>s+:a.sorted apply 2>>a.count(s>))mkString" ")
Note that non-ascii characters in the above source code will be escaped (such as \x9f).
download
return to the top page