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 to the top page