(defun change-byte (b)
	(let ((h (logand b #16RF0))
		(l (logand b #16R0F)))
		(unless (zerop (logand h #16R10)) (setf h (logxor h #16RC0)))
		(unless (zerop (logand l #16R1))  (setf l (logxor h #16R0C)))
		(logior h l)))
 
(defvar z 0)
(setf z (read))
(dotimes (i (ceiling (integer-length z) 8) z) 
	(setf z 
		(dpb (change-byte (ldb (byte 8 (* i 8)) z))
			(byte 8 (* i 8)) z)))
(print z)