(let* ((getbit (lambda (getbit bits a b) (if (> b 0) (getbit getbit (/ bits 0b100000000000000000000000000000000000000000000000000) a (- b 2)) (if (> a 0) (getbit getbit (/ bits 2) (- a 1) 0) (% bits 2))))) (solve (lambda (solve n x y dirX dirY) (if (= n 0) "" (let* ((newX (+ x dirX)) (newY (+ y dirY))) (if (= 0 (if (= 0 dirX) (getbit getbit 0b000000000000000000000000000000000000000000000000000101101110001110101011010101110111100010101011000011101001011110001001001110011001010110101011101111010100001001010101010001111010101011011001011010100111000101100001000101011001011001110010000110001100011111011111000011101000101100100000010110011011110010100100100110111110101101001010010110100101101101001001100010000010010101010100010010010100000110110011101101010111101010101100011111010000000111011001001100100101000101001010001101001011110011001011101000100010111010000100000011010100011011010001100100000110100010100011100101111110100000010000000011101111000100111101010011110111011111010010101100001011000100110000010001000101101101101100111011011100100000111011010101001000010010111011111111011101010011000111010110110111011111101100010011000000001110110110011001101001000000111011100100011010110111110111100011110001111001111010001101000011001010110101010000100100100111011110010110010000111111101110100100011100011111100011001110000010110110000100011001101100000011001110101000111101010011011001000001010100101101110011101110101100001011010101010000011100000100001011101010001110110001000110010001110110101110101110101000110110101000110111111101100100011111010010000110011000100110111111011111001000000001001010000100101000001010100110100100101000010110000111001110100100011001101011110000110010101010101111001101101110010011101110111101101011101010110001010001110100000000010000010100100101100101110001101000110000001010100000010010110100110100111111110000110011000000110010100110011111111100111000000111101111111110011010101010011100101111101011111011010010100101000111011101000101111101000010001101110110000010001001101101111001000100010100111000101111001110101010101001010011111100100111001100011101001111110100100101101111011001010001100101100111000101100101111011101000100010101111011110000010000111010000011100101011000100001011111110011011111111001011011001110110101110111111010101101010010010100101101001110000110011010011000011100111100011110011000101100010101101001101100111101111001100100001001010001010111001101010011111000111110111101100110100010000010010100111011111001111001100101010110010111010001011000000100001001001010001001100010011101100111001011100110110001100100111100011011110110000111001011000011001110101011110100111011000110101010011000101110010010001000011001110100000101001001110010100101010011011101111011001110110001111110100100011111111011000010011011000101101100001010100001010111100111011111101000111001000000000000000000000000000000000000000000000000000 newX (+ y newY)) (getbit getbit 0b000000000000000000000000000000000000000000000000001011110001111001010111100010110001101010000110100010110010000110101110011100000110111010001001010111010001101000110110001101001010001001010101111101001011101100111000101001101001011111110010110011000001111001110010110110100111010010101010100100101111110100101100111110011100101010001011010110011101010110010001100000010011111111010001101011100001011110100011011111000101110011101001010111011111101110110111111010101101000001110010001011110101000110010100100011010110100101111101000100100001010101101011000111011001010111011000010010101000100000010011110110000101110010000010110110110010001011111100000101101100110011101111001100010000111100100100110110011111110001101010101101110101000101010110110110111100110100110111011110011011011010101101010110010101100001110001111011110100001001011101100111010111100011110100000110010010100100100001011101000111010111110011111001100000010111110110001010100100111010010001001010100011011001001000011100101101111110100010101100101010100111101010110000011101101100000111010111010110110101100001100000111011001000110111010000011100000111101100101011011101001011111010101110111011011111011010110100111100101111110010100000111110111101100110001010010000100100101100100001111010100100110100101011010011000101010100101010101101010101010101100111101101111101011011001101111000001111111001001101110111001100100010101011010001110001110010001000010001011101110111101100010000110010100000011100101110001111101100101011001100100101101110010101100101110101001010000101111110001111001101110111110101000111001011111010001010111000011101111001010000111101011101100101000101000001100001110001100000000110101101001001011110110000101010101100001000001101011101101001000100001011100101000111010001010110011101011011010110011101110101110101000000100000011100101011010001100001110001011110111101111011001010001001101010101100110110101011001011011000101101101100111100011010000001011011000111101110000011010010011011111001001110111000011111110010101000101100101100101111001101000110111111111001100010110111001001100010110010101001010001100001111000011100100101100111101101101001001100100101011010111000110110110010000000100011001101101111000100100100111110111010000000110010101110010001001010110011101011000110001000110010101000100001101111001111001011011101100111110101001000110010001110011001101110001010001000010010101010011101011110101110101111000001101000110111000110100000110101111010100101111101001101011111000111010110011010101100000000000000000000000000000000000000000000000000 newY (+ x newX)))) (solve solve n x y dirY (- dirX)) (concat (take 2 (drop (+ (+ (* dirY 3) dirX) 3) "UULLRRDD")) (solve solve (- n 1) newX newY (- dirY) dirX)))))))) (concat "solve lambdaman12 " (solve solve 5000 3 42 0 1)))