Back and forth by clock

n=0;puts$<.read.split.map{|x|(' '*n)[0,n-=x.size*$.=-$.]+($.<0?x:x.reverse)}

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return top