x=0 gets.bytes{|b|Y=x^=b}.bytes{|b|putc~15&Y^(Y=x%16+16*b^=x)>>8} putc Y