Ruby by yvl

puts X>0?"/"+"--"*X+a="\\":"\xe2\x97\x87",(1..X).map{|i|" "*i+a+"  "*(X-i)+"/"}while X=eval(gets)-1

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

download

return top