1.upto(2*z=1<<getc%8){|n|putc n%z<1?10:(n%z+~n/z*(n&-n))*z*2%3+65}

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

download

return top